KR20190106217A - 스마트 디바이스 애플리케이션을 위한 장면 기반 오류 검출 방법 및 그를 수행하는 오류 검출 장치 - Google Patents
스마트 디바이스 애플리케이션을 위한 장면 기반 오류 검출 방법 및 그를 수행하는 오류 검출 장치 Download PDFInfo
- Publication number
- KR20190106217A KR20190106217A KR1020180027387A KR20180027387A KR20190106217A KR 20190106217 A KR20190106217 A KR 20190106217A KR 1020180027387 A KR1020180027387 A KR 1020180027387A KR 20180027387 A KR20180027387 A KR 20180027387A KR 20190106217 A KR20190106217 A KR 20190106217A
- Authority
- KR
- South Korea
- Prior art keywords
- scene
- driving
- driving scene
- error
- application
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3604—Software analysis for verifying properties of programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Medical Informatics (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Mathematical Physics (AREA)
- Artificial Intelligence (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Image Analysis (AREA)
Abstract
본 명세서에서 개시되는 실시예들은 스마트 디바이스 애플리케이션을 위한 장면 기반 오류 검출 방법 및 그를 수행하는 오류 검출 장치에 관한 것으로서 스마트 디바이스에서 수행되는 애플리케이션에 대하여 구동 장면 상에 오류가 포함되어 있는지 여부를 판단하는 장면 기반의 오류 검출 방법 및 장치에 관한 것이다. 기술적 과제를 달성하기 위한 기술적 수단으로서, 일 실시예에 따르면, 스마트 디바이스 애플리케이션의 오류 검출 장치가 수행하는 장면 기반 오류 검출 방법으로서, 상기 애플리케이션의 정상 장면을 학습하는 단계; 상기 애플리케이션의 구동 장면을 획득하는 단계; 및 획득한 상기 구동 장면의 오류 여부를 상기 학습에 기초하여 판단하는 단계를 포함하는 오류 검출 방법이 개시된다.
Description
본 명세서에서 개시되는 실시예들은 스마트 디바이스 애플리케이션을 위한 장면 기반 오류 검출 방법 및 그를 수행하는 오류 검출 장치에 관한 것으로서 스마트 디바이스에서 수행되는 애플리케이션에 대하여 구동 장면 상에 오류가 포함되어 있는지 여부를 판단하는 장면 기반의 오류 검출 방법 및 장치에 관한 것이다.
스마트 디바이스의 보급이 보편화됨에 따라 방대한 양의 스마트 디바이스 애플리케이션이 제작되고 있으며, 스마트 디바이스 애플리케이션의 출시 이전에 애플리케이션의 정상 작동을 판단하는 과정이 반드시 수행되어야 한다.
이와 관련하여 선행기술 문헌인 한국공개특허 제 10-2017-0043198 호 '어플리케이션 소스 코드의 오류 검출 장치 및 그 방법'에 따르면, 애플리케이션의 소스 코드를 파싱하여 소스 코드 자체의 오류에 대하여 검사하는 장치 및 방법을 개시하고 있다.
그러나 상기와 같은 선행기술에 따르면, 오류 분석에 소모되는 리소스가 많을 뿐만 아니라 다양한 스마트 디바이스에 적용될 때의 오류 여부를 분석하기에 취약하다는 문제가 있다. 따라서 이와 같은 문제를 보완하기 위한 기술이 요구되는 실정이다.
한편, 전술한 배경기술은 발명자가 본 발명의 도출을 위해 보유하고 있었거나, 본 발명의 도출 과정에서 습득한 기술 정보로서, 반드시 본 발명의 출원 전에 일반 공중에게 공개된 공지기술이라 할 수는 없다.
본 명세서에서 개시되는 실시예들은, 스마트 디바이스 애플리케이션을 위한 장면 기반 오류 검출 방법 및 그를 수행하는 오류 검출 장치를 개시하는 데에 목적이 있다.
또한 실시예들은, 스마트 디바이스 애플리케이션이 다양한 스마트 디바이스에 적용될 때의 오류를 분석할 수 있는 기술을 개시하는 데에 목적이 있다.
또한 실시예들은, 기존의 품질검증 플랫폼에서는 오류로 판단되지 않았던 스마트 디바이스 애플리케이션의 수행에 영향을 미치지 않는 장면 오류를 포함하는 오류를 분석할 수 있는 기술을 개시하는 데에 목적이 있다.
상술한 기술적 과제를 달성하기 위한 기술적 수단으로서, 일 실시예에 따르면, 스마트 디바이스 애플리케이션의 오류 검출 장치가 수행하는 장면 기반 오류 검출 방법으로서, 상기 애플리케이션의 정상 장면을 학습하는 단계; 상기 애플리케이션의 구동 장면을 획득하는 단계; 및 획득한 상기 구동 장면의 오류 여부를 상기 학습에 기초하여 판단하는 단계를 포함하는 오류 검출 방법이 개시된다.
또 다른 실시예에 따르면, 오류 검출 방법을 수행하는 프로그램이 기록된 컴퓨터 판독 가능한 기록매체가 개시된다. 이때 오류 검출 방법은 오류 검출 장치가 수행하는 것으로서, 상기 애플리케이션의 정상 장면을 학습하는 단계; 상기 애플리케이션의 구동 장면을 획득하는 단계; 및 획득한 상기 구동 장면의 오류 여부를 상기 학습에 기초하여 판단하는 단계를 포함할 수 있다.
또 다른 실시예에 따르면, 오류 검출 장치에 의해 수행되며, 오류 검출 방법을 수행하기 위해 매체에 저장된 컴퓨터 프로그램이 개시된다. 이때 오류 검출 방법은 애플리케이션의 정상 장면을 학습하는 단계; 상기 애플리케이션의 구동 장면을 획득하는 단계; 및 획득한 상기 구동 장면의 오류 여부를 상기 학습에 기초하여 판단하는 단계를 포함할 수 있다.
다른 실시예에 따르면, 스마트 디바이스 애플리케이션의 정상 장면을 저장하는 저장부; 및 상기 정상 장면을 학습하고, 스마트 디바이스 애플리케이션의 구동 장면을 획득하여 획득한 상기 구동 장면의 오류 여부를 상기 학습에 기초하여 판단하는 제어부를 포함하는 오류 검출 장치가 개시된다.
전술한 과제 해결 수단 중 어느 하나에 의하면, 본 명세서에서 개시되는 실시예들은, 스마트 디바이스 애플리케이션을 위한 장면 기반 오류 검출 방법 및 그를 수행하는 오류 검출 장치를 개시할 수 있다.
또한 실시예들은, 스마트 디바이스 애플리케이션이 다양한 스마트 디바이스에 적용될 때의 오류를 분석하는 기술을 개시할 수 있다.
또한 실시예들은, 기존의 품질검증 플랫폼에서는 오류로 판단되지 않았던 스마트 디바이스 애플리케이션의 수행에 영향을 미치지 않는 장면 오류를 포함하는 오류를 분석하는 기술을 개시할 수 있다.
개시되는 실시예들에서 얻을 수 있는 효과는 이상에서 언급한 효과들로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 개시되는 실시예들이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
도 1은 일 실시예에 따른 오류 검출 장치의 구성을 도시한 블록도이다.
도 2 내지 도 4는 일 실시예들에 따른 오류 검출 방법을 설명하기 위한 순서도이다.
도 2 내지 도 4는 일 실시예들에 따른 오류 검출 방법을 설명하기 위한 순서도이다.
아래에서는 첨부한 도면을 참조하여 다양한 실시예들을 상세히 설명한다. 아래에서 설명되는 실시예들은 여러 가지 상이한 형태로 변형되어 실시될 수도 있다. 실시예들의 특징을 보다 명확히 설명하기 위하여, 이하의 실시예들이 속하는 기술분야에서 통상의 지식을 가진 자에게 널리 알려져 있는 사항들에 관해서 자세한 설명은 생략하였다. 그리고, 도면에서 실시예들의 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서 전체에서, 어떤 구성이 다른 구성과 "연결"되어 있다고 할 때, 이는 ‘직접적으로 연결’되어 있는 경우뿐 아니라, ‘그 중간에 다른 구성을 사이에 두고 연결’되어 있는 경우도 포함한다. 또한, 어떤 구성이 어떤 구성을 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한, 그 외 다른 구성을 제외하는 것이 아니라 다른 구성들을 더 포함할 수도 있음을 의미한다.
이하 첨부된 도면을 참고하여 실시예들을 상세히 설명하기로 한다.
도 1은 일 실시예에 따른 오류 검출 장치(10)의 구성을 도시한 블록도이다.
본 명세서에서 개시되는 일 실시예에 따른 오류 검출 장치(10)는, 장면에 기반하여 스마트 디바이스 애플리케이션의 오류를 검출할 수 있다. 실시예에 따르면, 오류 검출 장치(10)는 기계 학습, 예를 들어, 심층 학습에 따라 스마트 디바이스 애플리케이션의 정상 장면을 학습함으로써 스마트 디바이스 애플리케이션의 구동 장면에 대한 오류를 검출할 수 있다.
이때, 정상 장면이란, 스마트 디바이스 애플리케이션이 스마트 디바이스에서 실행될 때 출력되는 구동 장면 중 오류가 없는 장면을 말한다. 가령, 구동 장면 중에 깨짐이 없고, 입력 버튼이 설정된 위치에 출력되며, 장면의 가로 잘림 또는 세로 잘림이 없는 경우 정상 장면으로 판단할 수 있다.
실시예에 따르면, 오류 검출 장치(10)는 오류 검출 방법을 수행하기 위한 애플리케이션이 설치된 전자단말기로 구현되거나 서버 또는 서버-클라이언트 시스템으로 구현될 수 있다. 오류 검출 장치(10)가 서버-클라이언트 시스템으로 구현될 때, 사용자와의 인터랙션을 위한 클라이언트가 설치된 사용자 단말을 포함할 수 있으며, 이때 사용자 단말은 전자단말기로 구현될 수 있다.
이때 전자단말기는, 사용자와의 인터랙션이 가능한 인터페이스를 포함할 수 있는 컴퓨터나 휴대용 단말기, 텔레비전, 웨어러블 디바이스(Wearable Device) 등으로 구현될 수 있다. 여기서, 컴퓨터는 예를 들어, 웹 브라우저(WEB Browser)가 탑재된 노트북, 데스크톱(desktop), 랩톱(laptop)등을 포함하고, 휴대용 단말기는 예를 들어, 휴대성과 이동성이 보장되는 무선 통신 장치로서, PCS(Personal Communication System), PDC(Personal Digital Cellular), PHS(Personal Handyphone System), PDA(Personal Digital Assistant), GSM(Global System for Mobile communications), IMT(International Mobile Telecommunication)-2000, CDMA(Code Division Multiple Access)-2000, W-CDMA(W-Code Division Multiple Access), Wibro(Wireless Broadband Internet), 스마트폰(Smart Phone), 모바일 WiMAX(Mobile Worldwide Interoperability for Microwave Access) 등과 같은 모든 종류의 핸드헬드(Handheld) 기반의 무선 통신 장치를 포함할 수 있다. 또한, 텔레비전은 IPTV(Internet Protocol Television), 인터넷 TV(Internet Television), 지상파 TV, 케이블 TV 등을 포함할 수 있다. 나아가 웨어러블 디바이스는 예를 들어, 시계, 안경, 액세서리, 의복, 신발 등 인체에 직접 착용 가능한 타입의 정보처리장치로서, 직접 또는 다른 정보처리장치를 통해 네트워크를 경유하여 원격지의 서버에 접속하거나 타 단말과 연결될 수 있다.
그리고 서버는 사용자와의 인터랙션을 위한 클라이언트가 설치된 전자단말기와 네트워크를 통해 통신이 가능한 컴퓨팅장치로 구현될 수 있으며, 데이터를 저장할 수 있는 저장장치를 포함할 수 있거나 또는 제 3 의 서버를 통해 데이터를 저장할 수도 있다.
구체적인 구성은 도 1을 참고하여 설명한다. 도 1을 참고하면, 일 실시예에 따른 오류 검출 장치(10)는 입출력부(11), 저장부(12), 통신부(13) 및 제어부(14)를 포함할 수 있다.
일 실시예에 따른 입출력부(11)는 사용자로부터 입력을 수신하기 위한 입력부와, 작업의 수행 결과 또는 오류 검출 장치(10)의 상태 등의 정보를 표시하기 위한 출력부를 포함할 수 있다. 예를 들어, 입출력부(11)는 사용자 입력을 수신하는 조작 패널(operation panel) 및 화면을 표시하는 디스플레이 패널(display panel) 등을 포함할 수 있다.
구체적으로, 입력부는 촬영 장치, 키보드, 물리 버튼, 터치 스크린, 카메라 또는 마이크 등과 같이 다양한 형태의 사용자 입력을 수신할 수 있는 장치들을 포함할 수 있다. 또한, 출력부는 디스플레이 패널, 스피커 또는 헤드셋 등을 포함할 수 있다. 다만, 이에 한정되지 않고 입출력부(11)는 다양한 입출력을 지원하는 구성을 포함할 수 있다.
한편, 저장부(12)는 실시예에 따른 오류 검출 방법을 수행하기 위한 데이터를 저장할 수 있다. 가령, 오류 검출 방법을 수행하기 위한 입력 데이터를 저장할 수 있고, 오류 검출 방법의 수행 결과로서 출력 데이터를 저장할 수 있다. 예를 들면, 스마트 디바이스 애플리케이션의 정상 장면을 학습하기 위하여 정상 장면을 저장한 데이터베이스를 포함할 수 있다.
한편, 통신부(13)는 다른 전자단말기 또는 네트워크와 유무선 통신을 수행할 수 있다. 이를 위해, 통신부(13)는 다양한 유무선 통신 방법 중 적어도 하나를 지원하는 통신 모듈을 포함할 수 있다. 예를 들어, 통신 모듈은 칩셋(chipset)의 형태로 구현될 수 있다.
이때 통신부(13)가 지원하는 무선 통신은, 예를 들어 Wi-Fi(Wireless Fidelity), Wi-Fi Direct, 블루투스(Bluetooth), UWB(Ultra Wide Band) 또는 NFC(Near Field Communication) 등일 수 있다. 또한, 통신부(13)가 지원하는 유선 통신은, 예를 들어 USB 또는 HDMI(High Definition Multimedia Interface) 등일 수 있다.
한편, 제어부(14)는 오류 검출 장치(10)의 전체적인 동작을 제어하며, CPU 등과 같은 프로세서를 포함할 수 있다. 이때, 제어부(14)는 심층 학습 등 오류 검출 방법을 원활히 수행하기 위하여 가속기, 예를 들어 GPU를 포함할 수 있다.
실시예에 따르면, 제어부(14)는 스마트 디바이스 애플리케이션(이하, 애플리케이션)의 오류를 검출하기 위하여 애플리케이션의 정상 장면을 학습할 수 있다. 실시예에 따라, 정상 장면은 저장부(12)의 데이터베이스에 저장될 수 있다.
이때, 제어부(14)는 단일 클래스 분류기법(One-class classification)에 기초한 심층 학습으로 정상 장면을 학습할 수 있다. 예를 들면, 제어부(14)는 오토인코더(Autoencoder)에 기반하여 정상 장면을 심층 학습할 수 있다. 이를 통해, 제어부(14)는 장면의 오류를 판단하기 위한 정상 판단 모델을 구축할 수 있다.
또한, 제어부(14)는 애플리케이션의 오류를 검출하기 위하여 애플리케이션의 구동 장면을 획득할 수 있다.
이를 위해, 제어부(14)는 애플리케이션을 설정에 따라 구동하고, 구동에 따라 생성되는 구동 장면을 획득할 수 있다. 이때, 제어부(14)는 애플리케이션을 실행하고, 진행시켜 출력되는 구동 장면을 순차적으로 획득할 수 있다. 또한, 실시예에 따라 하나 이상의 애플리케이션을 구동하여 하나 이상의 애플리케이션 각각에 대한 구동 장면을 획득할 수 있다.
여기서 설정은, 애플리케이션이 적용될 스마트 디바이스의 설정을 포함할 수 있다. 실시예에 따라 하나 이상의 스마트 디바이스의 설정이 서로 다를 때 스마트 디바이스 각각의 설정에 따라 애플리케이션을 구동하고, 획득된 애플리케이션의 구동 장면을 각 스마트 디바이스의 식별정보와 매칭하여 저장할 수 있다.
이때, 설정은 스마트 디바이스의 해상도에 따른 설정을 포함할 수 있다. 이 경우, 제어부(14)는 하나 이상의 해상도에 따라 애플리케이션을 구동할 수 있다.
또한, 제어부(14)는 획득한 구동 장면의 오류 여부를 판단하되, 정상 장면의 학습에 기초하여 구동 장면의 오류 여부를 판단할 수 있다. 가령, 제어부(14)는 심층 학습에 의해 구축된 정상 판단 모델에 기초하여 구동 장면의 오류 여부를 판단할 수 있다.
즉, 제어부(14)는 정상 장면의 심층 학습에 기초하여 구동 장면의 오류 여부를 판단할 수 있다. 이때, 제어부(14)는 판단에 따라 정상 장면으로 분류된 구동 장면을, 저장부(12)의 데이터베이스에 저장하여 학습을 위한 정상 장면의 보유량을 늘릴 수 있다.
또한, 제어부(14)는 정상 장면으로 판단되지 않는 구동 장면을 분류하여 정상 장면과 별도로 저장할 수 있다. 실시예에 따라 정상 장면으로 판단되지 않은 구동 장면을 사용자, 예를 들어, 애플리케이션의 오류를 검출하고자 하는 관리자에게 제공할 수 있다. 가령, 정상 장면으로 판단되지 않은 구동 장면에 대한 보고 메시지를 생성하거나 생성한 보고 메시지를 관리자 단말로 전송할 수 있다.
실시예에 따르면, 제어부(14)는 정상 장면으로 판단되지 않은 구동 장면을 관리자에게 제공하고, 제공된 구동 장면 중 정상 장면을 관리자로부터 선택 받아 정상 장면 학습을 위한 데이터베이스에 저장할 수 있다. 이와 같은 과정을 반복함으로써 정상 판단 모델의 신뢰도를 향상시킬 수 있다.
또한, 제어부(14)는 정상 장면으로 판단되지 않은 구동 장면을 오류의 정도에 따라 분류할 수 있다. 가령, 구동 장면이 오류를 포함할 확률, 즉, 오류 확률에 따라 정상 장면으로 판단되지 않은 구동 장면을 하나 이상의 카테고리로 분류하고, 분류된 카테고리를 선택적으로 관리자에게 제공할 수 있다. 예를 들면, 오류 확률을 소정 구간으로 나누어 구동 장면을 분류하고, 관리자의 선택에 따라 소정 구간의 오류 확률에 포함된 구동 장면을 제공할 수 있다. 또는, 소정 확률 미만의 구동 장면을 관리자에게 제공함으로써 관리자의 작업량을 줄일 수 있다.
실시예에 따르면, 제어부(14)는 구동 장면의 오류 여부를 판단함에 있어서, 복수의 GPU에 작업을 할당하는 스케줄을 생성하고, 생성된 스케줄에 따라 구동 장면의 오류 여부를 판단할 수 있다.
예를 들어, 제어부(14)는 획득한 구동 장면 각각에 대한 작업이 하나의 GPU에 할당되도록 스케줄링할 수 있다. 즉, 하나의 GPU에서 하나의 구동 장면에 대한 작업을 처리하도록 스케줄링할 수 있다.
이때, 제어부(14)는 구동 장면의 획득 순서에 따라 작업을 할당할 수 있다. 예를 들어, 획득된 순서대로 각 구동 장면에 대한 작업을 GPU에 할당하여 오류 여부 판단을 수행하되, 작업이 완료된 GPU가 발생하면, 작업이 완료된 GPU에 대하여 대기 중인 작업 중 구동 장면의 획득 순서가 빠른 순으로 작업을 할당하도록 스케줄링할 수 있다. 즉, 애플리케이션의 구동 장면(i-1)에 대한 작업이 할당되어 수행 중에 작업이 완료된 GPU가 발생하면, 작업이 완료된 GPU에 대하여 구동 장면(i)에 대한 작업을 할당하여 수행하도록 함으로써 연관성 있는 장면에 대한 작업을 순차적으로 진행하게 할 수 있다. 이를 통해 작업의 효율을 높일 수 있다.
또한, 제어부(14)는 하나 이상의 애플리케이션에 대한 오류 여부를 순차적으로 판단할 수 있다. 가령, 하나의 애플리케이션의 구동 장면에 대한 판단이 완료되면, 작업이 완료된 GPU에 대하여 타애플리케이션의 구동 장면에 대한 작업을 할당할 수 있다. 즉, 하나의 애플리케이션에 대응되는 구동 장면(i-2, i-1, i, i+1, i+2) 모두에 대한 작업이 획득 순서에 따라 할당되어 진행 중에 작업이 완료된 GPU가 발생함을 감지하면, 다음 애플리케이션에 대응되는 구동 장면(j-2, j-1, j, j+1, j+2)에 대한 작업을 구동 장면의 획득 순서에 따라 순차적으로 할당하여 오류 판단을 수행할 수 있다.
한편, 도 2 내지 도 4는 오류 검출 장치(10)가 수행하는 오류 검출 방법을 설명하기 위한 순서도들이다. 도 2 내지 도 4에 도시된 실시예에 따른 오류 검출 방법은 도 1과 관련한 실시예에 따른 오류 검출 장치(10)에서 시계열적으로 처리되는 단계들을 포함한다. 따라서, 이하에서 생략된 내용이라고 하더라도 도 1과 관련한 실시예에 따른 오류 검출 장치(10)에 관하여 이상에서 기술한 내용은 도 2 내지 도 4에 도시된 실시예들에 따른 오류 검출 방법에도 적용될 수 있다.
도 2를 참고하면, 오류 검출 장치(10)는 애플리케이션의 정상 장면을 학습할 수 있다(S21). 이때, 오류 검출 장치(10)는 단일 클래스 분류기법에 기초하여 정상 장면을 심층 학습할 수 있다.
또한, 오류 검출 장치(10)는 애플리케이션의 구동 장면을 획득할 수 있다(S22). 이때, 도 3을 참고하면, 오류 검출 장치(10)는 구동 장면을 획득함에 있어서, 애플리케이션을 설정에 따라 구동하고(S31), 구동에 따라 생성되는 구동 장면을 획득할 수 있다(S32).
실시예에 따르면, 설정은 애플리케이션이 적용될 스마트 디바이스의 설정을 포함할 수 있다. 예를 들어, 설정은 해상도를 포함할 수 있으며, 이때, 오류 검출 장치(10)는 하나 이상의 해상도에 따라 애플리케이션을 구동하고, 구동에 따라 생성되는 구동 장면을 획득할 수 있다.
또한, 오류 검출 장치(10)는 획득한 구동 장면의 오류 여부를 S21에서 수행한 학습에 기초하여 판단할 수 있다(S23).
실시예에 따르면, 오류 검출 장치(10)는 획득한 구동 장면 각각을 하나의 GPU에 할당하는 스케줄을 생성하고, 생성된 스케줄에 따라 구동 장면의 오류를 판단할 수 있다. 즉, 오류 검출 장치(10)는 하나의 GPU에 하나의 구동 장면에 대한 작업을 할당하는 스케줄을 생성할 수 있다.
또한, 오류 검출 장치(10)는 스케줄을 생성하되, 구동 장면의 획득 순서에 따라 작업을 할당하는 스케줄을 생성할 수 있다. 가령, 구동 장면을 획득한 순서대로 구동 장면에 대한 작업을 GPU 각각에 할당하되, 작업이 완료된 GPU가 발생하면, 작업이 완료된 GPU에 대하여 대기 중인 구동 장면에 대한 작업을 획득 순서대로 할당할 수 있다.
그리고 오류 검출 장치(10)는 하나의 애플리케이션에 대한 판단이 완료되면, 작업이 완료된 GPU에 대하여 타애플리케이션의 구동 장면에 대한 작업을 할당할 수 있다.
한편, 도 4를 참고하면, 오류 검출 장치(10)는 구동 장면의 오류 여부를 판단하고, 장상 장면으로 판단된 구동 장면을 정상 장면 학습을 위한 데이터베이스에 저장할 수 있다(S41).
이상의 실시예들에서 사용되는 '~부'라는 용어는 소프트웨어 또는 FPGA(field programmable gate array) 또는 ASIC 와 같은 하드웨어 구성요소를 의미하며, '~부'는 어떤 역할들을 수행한다. 그렇지만 '~부'는 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. '~부'는 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 따라서, 일 예로서 '~부'는 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램특허 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들, 및 변수들을 포함한다.
구성요소들과 '~부'들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 '~부'들로 결합되거나 추가적인 구성요소들과 '~부'들로부터 분리될 수 있다.
뿐만 아니라, 구성요소들 및 '~부'들은 디바이스 또는 보안 멀티미디어카드 내의 하나 또는 그 이상의 CPU 들을 재생시키도록 구현될 수도 있다.
도 2 내지 도 4를 통해 설명된 실시예들에 따른 오류 검출 방법은 컴퓨터에 의해 실행 가능한 명령어 및 데이터를 저장하는, 컴퓨터로 판독 가능한 매체의 형태로도 구현될 수 있다. 이때, 명령어 및 데이터는 프로그램 코드의 형태로 저장될 수 있으며, 프로세서에 의해 실행되었을 때, 소정의 프로그램 모듈을 생성하여 소정의 동작을 수행할 수 있다. 또한, 컴퓨터로 판독 가능한 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 모두 포함한다. 또한, 컴퓨터로 판독 가능한 매체는 컴퓨터 기록 매체일 수 있는데, 컴퓨터 기록 매체는 컴퓨터 판독 가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함할 수 있다. 예를 들어, 컴퓨터 기록 매체는 HDD 및 SSD 등과 같은 마그네틱 저장 매체, CD, DVD 및 블루레이 디스크 등과 같은 광학적 기록 매체, 또는 네트워크를 통해 접근 가능한 서버에 포함되는 메모리일 수 있다.
또한 도 2 내지 도 4를 통해 설명된 실시예들에 따른 오류 검출 방법은 컴퓨터에 의해 실행 가능한 명령어를 포함하는 컴퓨터 프로그램(또는 컴퓨터 프로그램 제품)으로 구현될 수도 있다. 컴퓨터 프로그램은 프로세서에 의해 처리되는 프로그래밍 가능한 기계 명령어를 포함하고, 고레벨 프로그래밍 언어(High-level Programming Language), 객체 지향 프로그래밍 언어(Object-oriented Programming Language), 어셈블리 언어 또는 기계 언어 등으로 구현될 수 있다. 또한 컴퓨터 프로그램은 유형의 컴퓨터 판독가능 기록매체(예를 들어, 메모리, 하드디스크, 자기/광학 매체 또는 SSD(Solid-State Drive) 등)에 기록될 수 있다.
따라서 도 2 내지 도 4를 통해 설명된 실시예들에 따른 오류 검출 방법은 상술한 바와 같은 컴퓨터 프로그램이 컴퓨팅 장치에 의해 실행됨으로써 구현될 수 있다. 컴퓨팅 장치는 프로세서와, 메모리와, 저장 장치와, 메모리 및 고속 확장포트에 접속하고 있는 고속 인터페이스와, 저속 버스와 저장 장치에 접속하고 있는 저속 인터페이스 중 적어도 일부를 포함할 수 있다. 이러한 성분들 각각은 다양한 버스를 이용하여 서로 접속되어 있으며, 공통 머더보드에 탑재되거나 다른 적절한 방식으로 장착될 수 있다.
여기서 프로세서는 컴퓨팅 장치 내에서 명령어를 처리할 수 있는데, 이런 명령어로는, 예컨대 고속 인터페이스에 접속된 디스플레이처럼 외부 입력, 출력 장치상에 GUI(Graphic User Interface)를 제공하기 위한 그래픽 정보를 표시하기 위해 메모리나 저장 장치에 저장된 명령어를 들 수 있다. 다른 실시예로서, 다수의 프로세서 및(또는) 다수의 버스가 적절히 다수의 메모리 및 메모리 형태와 함께 이용될 수 있다. 또한 프로세서는 독립적인 다수의 아날로그 및(또는) 디지털 프로세서를 포함하는 칩들이 이루는 칩셋으로 구현될 수 있다.
또한 메모리는 컴퓨팅 장치 내에서 정보를 저장한다. 일례로, 메모리는 휘발성 메모리 유닛 또는 그들의 집합으로 구성될 수 있다. 다른 예로, 메모리는 비휘발성 메모리 유닛 또는 그들의 집합으로 구성될 수 있다. 또한 메모리는 예컨대, 자기 혹은 광 디스크와 같이 다른 형태의 컴퓨터 판독 가능한 매체일 수도 있다.
그리고 저장장치는 컴퓨팅 장치에게 대용량의 저장공간을 제공할 수 있다. 저장 장치는 컴퓨터 판독 가능한 매체이거나 이런 매체를 포함하는 구성일 수 있으며, 예를 들어 SAN(Storage Area Network) 내의 장치들이나 다른 구성도 포함할 수 있고, 플로피 디스크 장치, 하드 디스크 장치, 광 디스크 장치, 혹은 테이프 장치, 플래시 메모리, 그와 유사한 다른 반도체 메모리 장치 혹은 장치 어레이일 수 있다.
상술된 실시예들은 예시를 위한 것이며, 상술된 실시예들이 속하는 기술분야의 통상의 지식을 가진 자는 상술된 실시예들이 갖는 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 상술된 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.
본 명세서를 통해 보호 받고자 하는 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태를 포함하는 것으로 해석되어야 한다.
10: 오류 검출 장치
11: 입출력부
12: 저장부 13: 통신부
14: 제어부
12: 저장부 13: 통신부
14: 제어부
Claims (15)
- 스마트 디바이스 애플리케이션의 오류 검출 장치가 수행하는 장면 기반 오류 검출 방법에 있어서,
상기 애플리케이션의 정상 장면을 학습하는 단계;
상기 애플리케이션의 구동 장면을 획득하는 단계; 및
획득한 상기 구동 장면의 오류 여부를 상기 학습에 기초하여 판단하는 단계를 포함하는, 오류 검출 방법. - 제1항에 있어서,
상기 학습하는 단계는,
상기 정상 장면을 단일 클래스 분류기법에 따라 심층 학습하는 것을 특징으로 하는, 오류 검출 방법. - 제1항에 있어서,
상기 구동 장면을 획득하는 단계는,
상기 애플리케이션을 설정에 따라 구동하는 단계; 및
상기 구동에 따라 생성되는 구동 장면을 획득하는 단계를 포함하는, 오류 검출 방법. - 제3항에 있어서,
상기 구동하는 단계는,
상기 애플리케이션을 하나 이상의 해상도에 따라 구동하는 것을 특징으로 하는, 오류 검출 방법. - 제3항에 있어서,
상기 판단하는 단계는,
획득한 상기 구동 장면 각각을 하나의 GPU에 할당하는 스케줄을 생성하고, 생성된 스케줄에 따라 상기 구동 장면의 오류 여부를 판단하되, 상기 구동 장면의 획득 순서에 따라 작업이 완료된 GPU에 대하여 상기 구동 장면 중 어느 하나에 대한 작업을 할당하는 것을 특징으로 하는, 오류 검출 방법. - 제1항에 있어서,
상기 판단하는 단계는,
상기 구동 장면에 대한 판단이 완료되면, 타애플리케이션의 구동 장면의 오류 여부를 판단하는 단계를 더 포함하는, 오류 검출 방법. - 제1항에 있어서,
정상 장면으로 판단된 구동 장면을, 상기 학습을 위한 데이터베이스에 저장하는 단계를 더 포함하는, 오류 검출 방법. - 제1항에 기재된 방법을 수행하는 프로그램이 기록된 컴퓨터 판독 가능한 기록 매체.
- 오류 검출 장치에 의해 수행되며, 제1항에 기재된 방법을 수행하기 위해 매체에 저장된 컴퓨터 프로그램.
- 스마트 디바이스 애플리케이션의 정상 장면을 저장하는 저장부; 및
상기 정상 장면을 학습하고, 스마트 디바이스 애플리케이션의 구동 장면을 획득하여 획득한 상기 구동 장면의 오류 여부를 상기 학습에 기초하여 판단하는 제어부를 포함하는, 오류 검출 장치. - 제10항에 있어서,
상기 제어부는,
정상 장면을 학습하되, 상기 정상 장면을 단일 클래스 분류기법에 따라 심층 학습하는 것을 특징으로 하는, 오류 검출 장치. - 제10항에 있어서,
상기 제어부는,
구동 장면을 획득하되, 상기 애플리케이션을 설정에 따라 구동하고, 구동에 따라 생성되는 구동 장면을 획득하는 것을 특징으로 하는, 오류 검출 장치. - 제12항에 있어서,
상기 제어부는,
상기 애플리케이션을 하나 이상의 해상도에 따라 구동하는 것을 특징으로 하는, 오류 검출 장치. - 제12항에 있어서,
상기 제어부는,
획득한 상기 구동 장면 각각을 하나의 GPU에 할당하는 스케줄을 생성하고, 생성된 스케줄에 따라 상기 구동 장면의 오류 여부를 판단하되, 상기 구동 장면의 획득 순서에 따라 작업이 완료된 GPU에 대하여 상기 구동 장면 중 어느 하나에 대한 작업을 할당하는 것을 특징으로 하는, 오류 검출 장치. - 제10항에 있어서,
상기 제어부는,
상기 구동 장면에 대한 판단이 완료되면, 타애플리케이션의 구동 장면의 오류 여부를 추가적으로 판단하는 것을 특징으로 하는, 오류 검출 장치.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020180027387A KR102108205B1 (ko) | 2018-03-08 | 2018-03-08 | 스마트 디바이스 애플리케이션을 위한 장면 기반 오류 검출 방법 및 그를 수행하는 오류 검출 장치 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020180027387A KR102108205B1 (ko) | 2018-03-08 | 2018-03-08 | 스마트 디바이스 애플리케이션을 위한 장면 기반 오류 검출 방법 및 그를 수행하는 오류 검출 장치 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20190106217A true KR20190106217A (ko) | 2019-09-18 |
KR102108205B1 KR102108205B1 (ko) | 2020-05-08 |
Family
ID=68070780
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020180027387A KR102108205B1 (ko) | 2018-03-08 | 2018-03-08 | 스마트 디바이스 애플리케이션을 위한 장면 기반 오류 검출 방법 및 그를 수행하는 오류 검출 장치 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102108205B1 (ko) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010113380A (ja) * | 2008-11-04 | 2010-05-20 | Fujitsu Ltd | テスト基盤装置、テスト基盤プログラム、テスト基盤方法 |
KR20140059600A (ko) * | 2012-11-08 | 2014-05-16 | 경북대학교 산학협력단 | 상태 기반의 테스트 시나리오 모델을 이용한 gui 테스트 장치 및 방법 |
JP2015203880A (ja) * | 2014-04-10 | 2015-11-16 | 凸版印刷株式会社 | アプリケーション検査システム、アプリケーション検査装置及びアプリケーション検査プログラム |
-
2018
- 2018-03-08 KR KR1020180027387A patent/KR102108205B1/ko active IP Right Grant
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010113380A (ja) * | 2008-11-04 | 2010-05-20 | Fujitsu Ltd | テスト基盤装置、テスト基盤プログラム、テスト基盤方法 |
KR20140059600A (ko) * | 2012-11-08 | 2014-05-16 | 경북대학교 산학협력단 | 상태 기반의 테스트 시나리오 모델을 이용한 gui 테스트 장치 및 방법 |
JP2015203880A (ja) * | 2014-04-10 | 2015-11-16 | 凸版印刷株式会社 | アプリケーション検査システム、アプリケーション検査装置及びアプリケーション検査プログラム |
Also Published As
Publication number | Publication date |
---|---|
KR102108205B1 (ko) | 2020-05-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102277172B1 (ko) | 인공 신경망 선택 장치 및 방법 | |
US9202039B2 (en) | Secure identification of computing device and secure identification methods | |
US20180088902A1 (en) | Coordinating input on multiple local devices | |
US20160335168A1 (en) | Real-time analysis of application programming interfaces | |
US9571930B2 (en) | Audio data detection with a computing device | |
US20150179184A1 (en) | Compensating For Identifiable Background Content In A Speech Recognition Device | |
US20210327449A1 (en) | Electronic device for speech recognition and control method thereof | |
RU2649945C2 (ru) | Способ улучшения распознавания касаний и электронное устройство для его осуществления | |
CN104038832A (zh) | 一种播放视频的方法及装置 | |
US11537377B2 (en) | Method and system for profile based deployments | |
KR102116395B1 (ko) | 애플리케이션 테스트 방법 및 장치 | |
KR20180119260A (ko) | 프로그램 분석 방법 및 프로그램 분석 장치 | |
KR20190070143A (ko) | 게임 제공 장치 및 게임 제공 방법 | |
US11373634B2 (en) | Electronic device for recognizing abbreviated content name and control method thereof | |
KR102108205B1 (ko) | 스마트 디바이스 애플리케이션을 위한 장면 기반 오류 검출 방법 및 그를 수행하는 오류 검출 장치 | |
KR20190069268A (ko) | 객체센서를 이용한 구도 설정 방법 및 시스템 | |
US11954569B2 (en) | Techniques for parallel model training | |
WO2015039585A1 (en) | Method and device for testing software reliability | |
KR101996878B1 (ko) | 정적 분석 도구를 평가하기 위한 방법 및 그 장치 | |
KR20180120966A (ko) | 결함 추적 방법 및 결함 추적 장치 | |
US11621000B2 (en) | Systems and methods for associating a voice command with a search image | |
KR20230173343A (ko) | 애플리케이션 테스트 장치 및 방법 | |
KR102368193B1 (ko) | 음성합성을 이용한 음성인식기능 검증 방법 및 장치 | |
KR102291385B1 (ko) | 통신환경에 기초한 게임 패치 제공 방법 및 장치 | |
KR102119509B1 (ko) | 안정적인 실행을 보장하는 OpenCL 가상화 실행환경 제공 방법 및 장치 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |