KR101602993B1 - 프로그래밍 언어 오류 검색 장치 - Google Patents

프로그래밍 언어 오류 검색 장치 Download PDF

Info

Publication number
KR101602993B1
KR101602993B1 KR1020120092136A KR20120092136A KR101602993B1 KR 101602993 B1 KR101602993 B1 KR 101602993B1 KR 1020120092136 A KR1020120092136 A KR 1020120092136A KR 20120092136 A KR20120092136 A KR 20120092136A KR 101602993 B1 KR101602993 B1 KR 101602993B1
Authority
KR
South Korea
Prior art keywords
logic
unit
program
lcs
programming language
Prior art date
Application number
KR1020120092136A
Other languages
English (en)
Other versions
KR20140025860A (ko
Inventor
이상훈
Original Assignee
엘에스산전 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 엘에스산전 주식회사 filed Critical 엘에스산전 주식회사
Priority to KR1020120092136A priority Critical patent/KR101602993B1/ko
Priority to US13/970,480 priority patent/US9639449B2/en
Priority to EP13181328.9A priority patent/EP2701066A1/en
Priority to CN201310373735.4A priority patent/CN103631711A/zh
Priority to JP2013173527A priority patent/JP5753232B2/ja
Publication of KR20140025860A publication Critical patent/KR20140025860A/ko
Application granted granted Critical
Publication of KR101602993B1 publication Critical patent/KR101602993B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3604Software analysis for verifying properties of programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management

Abstract

프로그래밍 언어 오류 검색 장치가 개시된다. 본 발명에 따른 프로그래밍 언어 오류 검색 장치는 IEC61131-3 언어를 사용하여 프로그램을 작성하는 프로그램 작성부, 상기 프로그램을 문자열로 변환하는 로직 변환부, 상기 문자열을 복수의 렁으로 분할하고, 상기 복수의 렁의 해시 코드를 계산하는 해시 코드 계산부, 상기 복수의 렁의 최대 공통 부분문자열(LCS)을 계산하는 LCS 계산부를 포함한다.

Description

프로그래밍 언어 오류 검색 장치{ERROR DETECTION DEVICE FOR PROGRAMMING LANGUAGE}
본 발명은 프로그래밍 언어 오류 검색 장치에 관한 것으로서, 보다 상세하게는 IEC61131-3 프로그래밍 언어의 오류를 검색하는 장치에 관한 것이다.
종래의 다양하고 분산화된 PLC(Programmable Logic Controller) 프로그램밍 언어로 인하여, 사용자가 PLC를 제어하는데 오류를 범하기 쉬웠고, 각각의 PLC 프로그램밍 언어 사용에 따른 물적, 인적 낭비의 문제가 있었다. 이를 해결하기 위하여 IEC(International Electrotechnical Commission)는 국제규격의 프로그램밍 언어인 IEC61131-3 표준을 규정하고, 종래의 PLC 프로그램밍 언어를 통합하여 표준화하였다.
도 1은 일반적인 PLC 자동화 시스템의 프로그램 환경의 구성도이다.
도 1을 참조하면, PLC(Programmable Logic Controller) 자동화 시스템의 프로그램은, IEC(International Electrotechnical Commission)61131-3 프로그래밍 환경을 제공하는 프로그램 작성부(11), 프로그램을 제어부로 다운로드 하는 프로그램 다운로드부(12) 및 다운로드한 프로그램을 검증하는 프로그램 검증부(13)로 구성된다.
자동화 시스템의 프로그램의 제어부는 하나 이상의 동일한 로직이나, 유사한 로직을 반복적으로 사용하여 PLC 자동화 시스템을 제어하는 경우가 빈번하다. 그러나, PLC 자동화 시스템에 사용되는 IEC61131-3 프로그래밍 언어와 상위 레벨 프로그래밍 언어인 C/C++ 언어를 비교하면, 프로그램 작성시 반복적인 로직 사용을 위한 템플릿(Template) 등과 같은 요소가 부족하여, 동일하거나 유사한 로직이 반복적으로 사용되는 경우, 로직 변경 시 동일 또는 유사한 로직을 일일이 찾아가면서 변경하여야 하는 문제점이 있다.
특히, 동일한 컴포넌트(Component)가 한 개 이상 사용되는 경우에의 로직의 변경은, 동일한 컴포넌트를 사용하는 모든 곳에 동일하게 적용되어야 한다. 만일, 하나의 컴포넌트라도 로직 변경이 누락되는 경우에는, 자동화 시스템 전체에 대한 신뢰성에 대한 문제를 발생시킨다.
동일 또는 유사 로직은, 자동화 시스템 개발 단계뿐 아니라, 시운전 및 유지보수 단계까지 모두 중요하게 관리되어야 하나, 종래의 자동화 시스템의 프로그램 환경에서는 동일 또는 유사 로직을 검색하는 기능을 별도로 제공하지 않았다.
본 발명이 해결하고자 하는 기술적 과제는, 자동화 시스템의 프로그램상에서 동일 또는 유사 로직을 검색하여 사용자에게 보고하는 장치를 제공하는 것이다.
또한, 프로그램 검증 시, 오류가 발생한 로직과 동일 또는 유사 로직을 빠르고 쉽게 검색할 수 있고, 오류가 발생할 수 있는 로직을 사용자가 미리 인지할 수 있는 장치를 제공하는 것이다.
상기와 같은 기술적 과제를 해결하기 위해, 본 발명에 따른 프로그래밍 언어 오류 검색 장치는, IEC61131-3 언어를 사용하여 프로그램을 작성하는 프로그램 작성부, 상기 프로그램을 문자열로 변환하는 로직 변환부, 상기 문자열을 복수의 렁으로 분할하고, 상기 복수의 렁의 해시 코드를 계산하는 해시 코드 계산부, 상기 복수의 렁의 최대 공통 부분문자열(LCS)을 계산하는 LCS 계산부를 포함하는 것을 특징으로 한다.
본 발명에 따른 프로그래밍 언어 오류 검색 장치는, 상기 해시 코드를 비교하여 동일한 경우는 동일 로직으로, 상기 LCS 및 사용자가 미리 설정한 문자열의 유사도 임계치를 비교하여 상기 LCS가 상기 문자열의 유사도 임계치보다 큰 경우는 유사 로직으로 판단하는 결과 판단부를 더 포함하는 것을 특징으로 한다.
본 발명에 따른 프로그래밍 언어 오류 검색 장치는, 상기 동일 또는 유사 로직에 대한 검색 결과를 보고하는 로직 보고부를 더 포함하는 것을 특징으로 한다.
본 발명에 따른 프로그래밍 언어 오류 검색 장치는, 상기 유사 로직이 검색되지 않거나, 상기 유사 로직의 수가 사용자가 설정한 수를 넘는 경우, 문자열의 유사도 임계치를 입력하는 임계치 입력부를 더 포함하는 것을 특징으로 한다.
본 발명에 따른 프로그래밍 언어 오류 검색 장치는, 상기 프로그래밍 언어의 변수에 대한 정보를 제거하는 로직 변환부를 더 포함하는 것을 특징으로 한다.
상기와 같은 본 발명은, 사용자는 자동화 시스템 프로그램이 사용하는 동일 또는 유사 로직을 미리 인지하여, 자동화 시스템의 시운전 및 유지 보수 단계에서 발생할 수 있는 잠재적인 로직의 오류를 방지할 수 있다.
또한, 자동화 시스템의 오류 발생을 미리 방지할 수 있어, 자동화 시스템의 신뢰성을 향상시키는 효과가 있다.
도 1은 일반적인 PLC 자동화 시스템의 프로그램 환경의 구성도이다.
도 2는 본 발명에 따른 프로그램 언어 오류 검색 장치의 제1실시예도이다.
도 3은 본 발명에 따른 프로그래밍 언어 오류 검색 장치의 제2실시예도이다.
도 4는 본 발명에 따라 프로그래밍 언어의 변수를 여과하는 것을 설명하기 위한 일예시도이다.
도 5는 본 발명에 따라 사용자가 문자열의 유사도 임계치를 설정하는 일예시도이다.
도 6은 본 발명에 따른 프로그래밍 언어 오류 검색 장치의 제3실시예도이다.
도 7은 본 발명에 따른 프로그래밍 언어 오류 검색 장치의 제4실시예도이다.
본 발명은 다양한 변경을 가할 수 있고 여러가지 실시예를 가질 수 있는바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
이하에서는, 프로그래밍 언어로 IEC61131-3 언어를 예를 들어 설명하겠으나, IEC61131-3 이외의 프로그램 언어에서도, 본 발명이 적용될 수 있음은 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 있어 자명하다 할 것이다.
이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 일실시예를 상세히 설명한다. 도면상에서 동일 부호는 동일한 요소를 지칭한다.
도 2는 본 발명에 따른 프로그램 언어 오류 검색 장치의 제1실시예도이다.
도 2를 참조하면, 프로그램 작성부(21), 로직 변환부(22), 해시 코드(Hash Code) 계산부(24), 최대 공통 부분문자열(Longest Common Subsequence; LCS) 계산부(25) 및 로직 보고부(27)로 구성된다.
프로그램 작성부(21)를 통해, 사용자는 IEC61131-3 프로그램 언어를 사용하는 프로그램을 작성한다.
IEC61131-3 프로그램 언어는 그래픽 형태의 언어를 사용하고 있으며, 로직 변환부(22)는 사용자가 프로그래밍한 IEC61131-3 프로그램 언어를 문자열 형태로 변환한다.
해시 코드 계산부(24)는 문자열 형태로 변환한 IEC61131-3 프로그램 언어를 IEC61131-3 프로그램 언어의 최소 단위(렁)별로 구분한다. 해시 코드 계산부(24)는 구분한 각각의 렁의 해시 코드(Hash Code)를 계산한 후, 각각의 해시 코드를 비교하여 동일 로직을 검색한다.
LCS 계산부(25)는 IEC61131-3 프로그램 언어의 최소 단위(렁)별로, LCS(Longest Common Subsequence)를 계산한 후, 각각의 렁간의 유사도를 판단하기 위해, LCS 알고리즘을 사용하여 유사 로직을 검색한다. LCS 알고리즘은, 공통 부분 문자열 중, 길이가 가장 긴 것을 출력하는 것으로서, 이에 대해서는, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 있어 자명하다 할 것이므로, 상세한 설명은 생략하기로 한다.
로직 보고부(27)는 해시 코드와 LCS를 사용하여, 검색한 동일 또는 유사 로직에 대한 결과를 사용자에게 보고한다.
즉, 로직 보고부(27)는 동일한 해시 코드를 갖는 로직은 동일 로직으로, LCS가 사용자가 미리 설정한 유사도의 임계치보다 큰 경우, 유사 로직으로 보고한다.
사용자가 미리 설정한 유사도의 임계치에 대하여는 도 5를 참조하여 상세히 설명하기로 한다.
도 3은 본 발명에 따른 프로그래밍 언어 오류 검색 장치의 제2실시예도이다.
도 3은 도 2와는 달리, 변수 여과부를 더 포함하고 있다.
도 3을 참조하면, 프로그램 작성부(21), 로직 변환부(22), 변수 여과부(23), 해시 코드 계산부(24), LCS 계산부(25) 및 로직 보고부(27)로 구성된다.
프로그램 작성부(21)를 통해, 사용자는 IEC61131-3 프로그램 언어를 사용하는 프로그램을 작성한다.
IEC61131-3 프로그램 언어는 그래픽 형태의 언어를 사용하고 있으며, 로직 변환부(22)는 사용자가 프로그래밍한 IEC61131-3 프로그램 언어를 그래픽 형태를 문자열 형태로 변환한다.
변수 여과부(23)는 사용자의 선택에 따라 프로그램에서 사용하고 있는 변수 정보를 제거하며, 사용자가 입력한 변수의 차이에 의하여, 렁간의 유사도가 낮아지는 것을 방지하기 위해, 변수 여과부(23)에서 변수에 대한 영향을 최소화하도록 사용자가 선택할 수 있다.
즉, 변수 여과부(23)를 통하면, 사용자가 입력한 변수 정보에 무관하게 유사한 사용자 프로그램을 검색할 수 있으며, 변수 여과부(23)가 변수에 대한 영향을 최소화하는 것에 대하여는 도4를 참조하여, 상세히 설명하기로 한다.
해시 코드 계산부(24)는 문자열 형태로 변환한 IEC61131-3 프로그램 언어를 IEC61131-3 프로그램 언어의 최소 단위(렁)별로 구분한다. 해시 코드 계산부(24)는 구분한 각각의 렁의 해시 코드(Hash Code)를 계산한 후, 각각의 해시 코드를 비교하여 동일 로직을 검색한다.
LCS 계산부(25)는 IEC61131-3 프로그램 언어의 최소 단위(렁)별로, LCS를 계산한 후, 각각의 렁간의 유사도를 판단하기 위해, LCS 알고리즘을 사용하여 유사 로직을 검색한다.
로직 보고부(27)는 해시 코드와 LCS를 사용하여, 검색한 동일 또는 유사 로직에 대한 결과를 사용자에게 보고한다.
즉, 로직 보고부(27)는 동일한 해시 코드를 갖는 로직은 동일 로직으로, LCS가 사용자가 미리 설정한 유사도의 임계치보다 큰 경우, 유사 로직으로 보고한다.
도 4는 본 발명에 따라 프로그래밍 언어의 변수를 여과하는 것을 설명하기 위한 일예시도이다.
도 4를 참조하면, 동일한 캐패시터(컨덴서)를 그래픽 형태로 도시하고 있으며, 동일한 캐패시터를 각각 변수 A, A1, a 및 a1으로 표현하고 있다. 즉, 동일한 캐패시터를 네 가지의 변수로 표현하고 있다.
따라서, 네 가지의 동일한 개패시터 및 각각의 변수를 문자로 변환하면, 캐패시터는 동일한 문자로 변환되나, 변수는 각각 다른 문자로 변환되어, 동일 로직으로 검색될 수 있는 로직이 유사 로직으로 검색되는 문제가 발생한다.
따라서, 변수 여과부(23)가 변수 정보를 제거함으로써, 동일 로직을 정확하게 검색할 수 있다.
도 5는 본 발명에 따라 사용자가 문자열의 유사도 임계치를 설정하는 일예시도이다.
도 5를 참조하면, 예를 들어, 유사도를 비교하는 문자열이 각각 abcde 및 abcfg 라 하면, 각각의 문자열을 구성하는 ab가 동일하고 나머지 문자가 다른 경우(L1)를 유사한 것으로 설정하거나, abc가 동일하고 나머지 문자가 다른 경우(L2)를 유사한 것으로 설정하는 것이 가능하다. 즉 사용자는 문자열의 유사도 임계치를 위에서 살펴본 바와 같이, 비교하는 문자열에서 문자 두 개가 동일한 경우이거나 문자 세 개가 동일한 경우를 임계치로 설정하는 것이 가능하다.
만약, 사용자가 설정한 문자열의 유사도 임계치에 의하여도, 사용자가 원하는 유사 로직이 검색되지 않거나, 너무 많은 유사 로직이 검색되는 경우에는, 사용자는 문자열의 유사도의 임계치를 변경하여, 사용자가 원하는 유사 로직을 검색하는 것이 가능하다.
문자열의 유사도 임계치를 설정하는 것은 이에 한정하지 않으며, 임계치가 다른 방식으로 설정될 수 있음은 자명하다.
도 6은 본 발명에 따른 프로그래밍 언어 오류 검색 장치의 제3실시예도이다.
도 6을 참조하면, 프로그램 작성부(21), 로직 변환부(22), 해시 코드 계산부(24), LCS 계산부(25), 결과 판단부(26), 로직 보고부(27) 및 임계치 입력부(28)로 구성된다.
프로그램 작성부(21)를 통해, 사용자는 IEC61131-3 프로그램 언어를 사용하는 프로그램을 작성한다.
IEC61131-3 프로그램 언어는 그래픽 형태의 언어를 사용하고 있으며, 로직 변환부(22)는 사용자가 프로그래밍한 IEC61131-3 프로그램 언어를 그래픽 형태를 문자열 형태로 변환한다.
해시 코드 계산부(24)는 문자열 형태로 변환한 IEC61131-3 프로그램 언어를 IEC61131-3 프로그램 언어의 최소 단위(렁)별로 구분한다. 해시 코드 계산부(24)는 구분한 각각의 렁의 해시 코드(Hash Code)를 계산한다.
LCS 계산부(25)는 IEC61131-3 프로그램 언어의 최소 단위(렁)별로, LCS를 계산한다.
결과 판단부(26)는 각각 렁의 해시 코드를 비교하여 동일 로직을 검색하며, 각각의 렁의 LCS 및 문자열의 유사도 임계치를 사용하여 유사 로직을 검색한다.
즉, 동일한 해시 코드를 갖는 로직은 동일 로직으로, LCS가 사용자가 미리 설정한 유사도의 임계치보다 큰 경우는 유사 로직으로 판단한다.
로직 보고부(27)는 동일 또는 유사 로직에 대한 검색한 결과를 사용자에게 보고한다.
그러나, 유사 로직이 검색되지 않는 경우 또는 너무 많은 유사 로직이 검색된 경우, 사용자는 임계치 입력부(28)을 통하여, 문자열의 유사도 임계치를 변경하는 것이 가능하고, 결과 판단부(26)는 변경된 문자열의 유사도 임계치 및 LCS 알고리즘을 사용하여, IEC61131-3 프로그램 언어의 최소 단위(렁)별로 유사 로직을 검색한다. 유사 로직이 검색된 경우에는 로직 보고부(27)가 검색된 유사 로직을 사용자에게 보고한다.
유사 로직이 검색되지 않거나, 너무 많은 유사 로직이 검색된 경우 사용자는 다시 임계치 입력부(28)을 통하여, 문자열의 유사도 임계치를 변경하는 것이 가능하다. 즉 사용자가 문자열의 유사도 임계치를 변경하는 것을 반복함으로써, 자신이 원하는 유사 로직을 검색하는 것이 가능하다.
도 7은 본 발명에 따른 프로그래밍 언어 오류 검색 장치의 제4실시예도이다.
도 7은 도 6과는 달리, 변수 여과부(23)를 더 포함하고 있다.
도 7을 참조하면, 프로그램 작성부(21), 로직 변환부(22), 변수 여과부(23), 해시 코드 계산부(24), LCS 계산부(25), 결과 판단부(26), 로직 보고부(27) 및 임계치 입력부(28)로 구성된다.
프로그램 작성부(21)를 통해, 사용자는 IEC61131-3 프로그램 언어를 사용하는 프로그램을 작성한다.
IEC61131-3 프로그램 언어는 그래픽 형태의 언어를 사용하고 있으며, 로직 변환부(22)는 사용자가 프로그래밍한 IEC61131-3 프로그램 언어를 그래픽 형태를 문자열 형태로 변환한다.
변수 여과부(23)는 사용자의 선택에 따라 프로그램에서 사용하고 있는 변수 정보를 제거하며, 사용자가 입력한 변수의 차이에 의하여, 렁간의 유사도가 낮아지는 것을 방지하기 위해, 변수 여과부(23)에서 변수에 대한 영향을 최소화하도록 사용자가 선택할 수 있어, 사용자가 입력한 변수 정보에 영향을 받지 않고, 유사한 사용자 프로그램을 검색할 수 있다.
해시 코드 계산부(24)는 문자열 형태로 변환한 IEC61131-3 프로그램 언어를 IEC61131-3 프로그램 언어의 최소 단위(렁)별로 구분한다. 해시 코드 계산부(24)는 구분한 각각의 렁의 해시 코드(Hash Code)를 계산한다.
LCS 계산부(25)는 IEC61131-3 프로그램 언어의 최소 단위(렁)별로, LCS를 계산한다.
결과 판단부(26)는 각각 렁의 해시 코드를 비교하여 동일 로직을 검색하며, 각각의 렁의 LCS 및 문자열의 유사도 임계치를 사용하여 유사 로직을 검색한다.
즉, 동일한 해시 코드를 갖는 로직은 동일 로직으로, LCS가 사용자가 미리 설정한 유사도의 임계치보다 큰 경우는 유사 로직으로 판단한다.
로직 보고부(27)는 동일 또는 유사 로직에 대한 검색한 결과를 사용자에게 보고한다.
그러나, 유사 로직이 검색되지 않는 경우 또는 너무 많은 유사 로직이 검색된 경우, 사용자는 임계치 입력부(28)을 통하여, 문자열의 유사도 임계치를 변경하는 것이 가능하고, 결과 판단부(26)는 변경된 문자열의 유사도 임계치 및 LCS 알고리즘을 사용하여, IEC61131-3 프로그램 언어의 최소 단위(렁)별로 유사 로직을 검색한다. 유사 로직이 검색된 경우에는 로직 보고부(27)가 검색된 유사 로직을 사용자에게 보고한다.
유사 로직이 검색되지 않거나, 너무 많은 유사 로직이 검색된 경우 사용자는 다시 임계치 입력부(28)을 통하여, 문자열의 유사도 임계치를 변경하는 것이 가능하다. 즉 사용자가 문자열의 유사도 임계치를 변경하는 것을 반복함으로써, 자신이 원하는 유사 로직을 검색하는 것이 가능하다.
이상에서 본 발명에 따른 실시예들이 설명되었으나, 이는 예시적인 것에 불과하며, 당해 분야에서 통상적 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 범위의 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 다음의 특허청구범위에 의해서 정해져야 할 것이다.
21 : 프로그램 작성부 22 : 로직 변환부
23 : 변수 여과부 24 : 해시 코드 계산부
25 : LCS 계산부 26 : 결과 판단부
27 : 로직 보고부 28 : 임계치 입력부

Claims (5)

  1. 프로그래밍 언어를 사용하여 프로그램을 작성하는 프로그램 작성부;
    상기 프로그램을 문자열로 변환하는 로직 변환부;
    상기 프로그램의 문자열에서 사용하고 있는 소정의 변수 정보를 제거하는 변수 여과부;
    상기 변수 정보가 제거된 문자열을 복수의 렁(lung)으로 분할하고, 상기 복수의 렁의 해시 코드를 계산하여, 계산된 해시 코드를 비교하여 동일 로직을 검색하는 해시 코드 계산부; 및
    상기 복수의 렁의 최대 공통 부분문자열(LCS)을 계산하여, LCS 알고리즘을 이용하여 유사 로직을 검색하는 LCS 계산부; 및
    상기 동일 로직 또는 상기 유사 로직에 대한 검색 결과를 보고하는 로직 보고부를 포함하는 프로그래밍 언어 오류 검색 장치.
  2. 제1항에 있어서,
    상기 해시 코드를 비교하여 동일한 경우는 동일 로직으로, 상기 LCS 및 사용자가 미리 설정한 문자열의 유사도 임계치를 비교하여 상기 LCS가 상기 문자열의 유사도 임계치보다 큰 경우는 유사 로직으로 판단하는 결과 판단부를 더 포함하는 프로그래밍 언어 오류 검색 장치.
  3. 삭제
  4. 제2항에 있어서,
    상기 유사 로직이 검색되지 않거나, 상기 유사 로직의 수가 사용자가 설정한 수를 넘는 경우, 문자열의 유사도 임계치를 입력하는 임계치 입력부를 더 포함하는 프로그래밍 언어 오류 검색 장치.

  5. 삭제
KR1020120092136A 2012-08-23 2012-08-23 프로그래밍 언어 오류 검색 장치 KR101602993B1 (ko)

Priority Applications (5)

Application Number Priority Date Filing Date Title
KR1020120092136A KR101602993B1 (ko) 2012-08-23 2012-08-23 프로그래밍 언어 오류 검색 장치
US13/970,480 US9639449B2 (en) 2012-08-23 2013-08-19 Error detection device for programming language
EP13181328.9A EP2701066A1 (en) 2012-08-23 2013-08-22 Error detection device for programming language
CN201310373735.4A CN103631711A (zh) 2012-08-23 2013-08-23 用于编程语言的错误检测设备
JP2013173527A JP5753232B2 (ja) 2012-08-23 2013-08-23 プログラミング言語の誤り検出装置及び誤り検出方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120092136A KR101602993B1 (ko) 2012-08-23 2012-08-23 프로그래밍 언어 오류 검색 장치

Publications (2)

Publication Number Publication Date
KR20140025860A KR20140025860A (ko) 2014-03-05
KR101602993B1 true KR101602993B1 (ko) 2016-03-11

Family

ID=49123638

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120092136A KR101602993B1 (ko) 2012-08-23 2012-08-23 프로그래밍 언어 오류 검색 장치

Country Status (5)

Country Link
US (1) US9639449B2 (ko)
EP (1) EP2701066A1 (ko)
JP (1) JP5753232B2 (ko)
KR (1) KR101602993B1 (ko)
CN (1) CN103631711A (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106610965A (zh) 2015-10-21 2017-05-03 北京瀚思安信科技有限公司 确定文本串公共子序列的方法和设备
KR102478005B1 (ko) * 2016-04-28 2022-12-14 엘에스일렉트릭(주) Plc 사용자 프로그램 분석 방법
KR20210101770A (ko) * 2020-02-11 2021-08-19 엘에스일렉트릭(주) 복수 프로그래밍 언어 지원을 위한 plc 제어방법
JP7447574B2 (ja) * 2020-03-12 2024-03-12 オムロン株式会社 サポート装置、サポートプログラムおよびサポート方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100904835B1 (ko) 2007-06-07 2009-06-25 미쓰비시덴키 가부시키가이샤 문자열 대조 장치 및 문자열 대조 프로그램을 기록한 컴퓨터 판독 가능한 기억 매체
EP2455855A1 (de) * 2010-11-22 2012-05-23 Siemens AG Graphische Vergleichsanzeige von Software

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6289134A (ja) * 1985-10-16 1987-04-23 Nippon Steel Corp 文字列差異抽出の装置および方法
JPH0232425A (ja) * 1988-07-22 1990-02-02 Nec Corp 定数最適化方式
DE19707107A1 (de) * 1997-02-22 1998-09-10 Bosch Gmbh Robert Einrichtung zur Programmierung eines SPS
DE102004010179A1 (de) 2004-03-02 2005-10-06 Siemens Ag Verfahren und Datenverarbeitungsgerät zur Aktualisierung von Rechnerprogrammen per Datenübertragung
JP5039428B2 (ja) * 2007-05-14 2012-10-03 株式会社キーエンス プログラマブルコントローラ及びplcシステム
JP5208635B2 (ja) 2008-09-12 2013-06-12 インターナショナル・ビジネス・マシーンズ・コーポレーション プログラミングを支援するための情報処理装置、情報処理システム、プログラミング支援方法およびプログラム
US8195583B2 (en) 2009-05-27 2012-06-05 Advanced Micro Devices, Inc. Correlating instruction sequences with CPU performance events to improve software performance
US8498982B1 (en) * 2010-07-07 2013-07-30 Openlogic, Inc. Noise reduction for content matching analysis results for protectable content
KR101162051B1 (ko) * 2010-12-21 2012-07-03 한국인터넷진흥원 문자열 비교 기법을 이용한 악성코드 탐지 및 분류 시스템 및 그 방법
EP2729855A1 (de) * 2011-07-06 2014-05-14 Abb Ag Verfahren und vorrichtung zur programmierung und konfigurierung einer speicherprogrammierbaren steuereinrichtung
KR102029465B1 (ko) * 2011-11-17 2019-10-08 삼성에스디에스 주식회사 검색 또는 패턴 매칭 엔진 및 이를 구비한 단말장치와 그 방법

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100904835B1 (ko) 2007-06-07 2009-06-25 미쓰비시덴키 가부시키가이샤 문자열 대조 장치 및 문자열 대조 프로그램을 기록한 컴퓨터 판독 가능한 기억 매체
EP2455855A1 (de) * 2010-11-22 2012-05-23 Siemens AG Graphische Vergleichsanzeige von Software

Also Published As

Publication number Publication date
US9639449B2 (en) 2017-05-02
JP5753232B2 (ja) 2015-07-22
CN103631711A (zh) 2014-03-12
JP2014041617A (ja) 2014-03-06
US20140058540A1 (en) 2014-02-27
EP2701066A1 (en) 2014-02-26
KR20140025860A (ko) 2014-03-05

Similar Documents

Publication Publication Date Title
KR101602993B1 (ko) 프로그래밍 언어 오류 검색 장치
US10176606B2 (en) Method and apparatus for converting diagrams into application engineering elements
US11775414B2 (en) Automated bug fixing using deep learning
CN112182578A (zh) 一种模型训练方法、检测url的方法及装置
US20140344511A1 (en) Method for storing data
US10031512B2 (en) Apparatus for generating and editing NC program
EP2827240A1 (en) Method for generating control-code by a control-code-diagram
KR20170004983A (ko) 라인 분할 방법
EP2913762A1 (en) Methods for producing customer configurable technical manuals
KR101749210B1 (ko) 다중 서열 정렬 기법을 이용한 악성코드 패밀리 시그니쳐 생성 장치 및 방법
CN104090865B (zh) 文本相似度计算方法及装置
US20230161319A1 (en) Computer-implemented method for recognizing an input pattern in at least one time series of a plurality of time series
KR20140002171A (ko) 자동통역방법
CN110879573B (zh) 加工时间预测装置
CN111078227B (zh) 一种基于代码特征的二进制代码与源代码相似性分析方法与装置
KR101904643B1 (ko) 의사결정트리를 이용한 기사 생성 방법
JP2016184323A (ja) 情報処理装置
Mokhtar et al. Enhanced pre-processing and parameterization process of generic code clone detection model for clones in java applications
JP6442908B2 (ja) 修正装置、翻訳装置、修正方法、および、コンピュータ・プログラム
KR102066022B1 (ko) 실행 코드 상의 함수 시그니처 생성 장치 및 방법
JP7318798B2 (ja) セキュリティアセスメント装置、セキュリティアセスメント方法、プログラム
JP6072714B2 (ja) プログラム照合装置
KR102195748B1 (ko) 패치 생성 장치 및 방법
JP6948997B2 (ja) 制御ロジック図解析装置および制御ロジック図解析方法
Choi et al. Comparison of program representations on vulnerability detection with graph neural networks

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
FPAY Annual fee payment

Payment date: 20190121

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20200102

Year of fee payment: 5