KR20220067366A - Method for maintenance for program and computing device supporting the same - Google Patents
Method for maintenance for program and computing device supporting the same Download PDFInfo
- Publication number
- KR20220067366A KR20220067366A KR1020200153987A KR20200153987A KR20220067366A KR 20220067366 A KR20220067366 A KR 20220067366A KR 1020200153987 A KR1020200153987 A KR 1020200153987A KR 20200153987 A KR20200153987 A KR 20200153987A KR 20220067366 A KR20220067366 A KR 20220067366A
- Authority
- KR
- South Korea
- Prior art keywords
- ast
- snapshot
- information
- display
- snapshots
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/35—Creation or generation of source code model driven
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/38—Creation or generation of source code for implementing user interfaces
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/51—Source to source
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Computer Security & Cryptography (AREA)
- Stored Programmes (AREA)
Abstract
Description
본 발명은 프로그램 유지 보수에 관한 것으로, 소스 코드 히스토리에 저장된 스냅샷들을 이용한 프로그램 유지 보수 방법 및 이를 지원하는 컴퓨팅 장치에 관한 것이다.The present invention relates to program maintenance, and to a program maintenance method using snapshots stored in a source code history and a computing device supporting the same.
프로그램 유지보수는 소프트웨어 개발에서 가장 많은 비용을 차지하는 부분이다. 이에 따라 프로그램 유지 보수자들은 기존 시스템의 Version 관리 시스템(VCS)을 활용하여 개발자들이 어떻게 기능을 개발하고 Bug를 수정하였는지에 대해 과거의 개발이력을 직접 분석함으로써 유지보수를 수행할 수 있다. 하지만, 이러한 작업은 프로그램 유지 보수자들에게 많은 시간과 비용을 요구하며, 결과적으로 일정의 지연과 예산의 초과투자를 유발할 수 있다.Program maintenance is the most expensive part of software development. Accordingly, program maintainers can perform maintenance by directly analyzing past development histories on how developers developed functions and modified bugs by using the Version Management System (VCS) of the existing system. However, such work requires a lot of time and money for program maintainers, and as a result, it may cause schedule delays and overinvestment of the budget.
기존 선행 개발 프로그램들의 경우 소프트웨어 개발 통합 도구에서 개발자의 여러 개발 행위를 즉각적으로 기록하고, 이를 별도의 저장소에 저장하여 개발자에게 개발의 과정을 보여준다. 하지만, 이러한 방식들은 프로그램 개발 과정에 대한 정보를 문자열단위로 보여주는 특징 때문에, 프로그램 유지 보수자가, 각 문자열들을 하나씩 확인하고, 그 뜻을 이해해야 하기 때문에, 많은 시간과 피로감을 느낄 수 있으며, 문제점 찾기가 쉽지 않은 단점이 존재한다. 또 다른 방식으로, 여러 Version의 해당 System을 빌드하여 가져온 다음에 동적 분석에 따라 개발 과정을 보여주는 방식이 있다. 이러한 방식은 시스템이 어떻게 개발되었는지 보여주는 가장 직관적인 방식이지만, 만약 해당 시스템 build가 수행되지 못할 경우 그 과정을 파악할 수 없다는 문제점이 있다. In the case of existing advanced development programs, the software development integration tool immediately records the developer's various development actions and stores them in a separate repository to show the developer the development process. However, since these methods show information about the program development process in string units, the program maintainer must check each string one by one and understand the meaning, which can cause a lot of time and fatigue, making it difficult to find problems. There are some disadvantages that are not easy. Another method is to build and import multiple versions of the system and then show the development process according to dynamic analysis. This method is the most intuitive way to show how the system was developed, but there is a problem in that if the system build is not performed, the process cannot be understood.
본 발명은 프로그램 유지보수에 관한 것으로, 별도의 저장소나 System Build를 요구하지 않고, Source Code History 내의 각 Snapshot에서 어떠한 작업들이 수행되었는지를 AST(Abstract Syntax Tree) 기반 Method Attribute 요소 중심으로, 개발 과정을 시각화하여 제공함으로써, 각 Version마다 어떠한 작업이 수행 되었는지를 쉽게 빠르게 확인할 수 있도록 하는 프로그램 유지 보수 방법 및 이를 지원하는 컴퓨팅 장치를 제공함에 있다.The present invention relates to program maintenance, and it does not require a separate repository or system build, and it analyzes which tasks were performed in each snapshot in the source code history, focusing on the AST (Abstract Syntax Tree)-based Method Attribute element, and By providing visualization, it is to provide a program maintenance method and a computing device that supports it so that you can easily and quickly check what kind of work was performed for each version.
예컨대, 본 발명은 소스 코드 히스토리에 저장된 스냅샷들을 이용하여 작업 변경 사항들을 추출하고, 추출된 작업 변경 사항들을 출력하여 프로그램 이해를 쉽게 하면서 유지 보수를 보다 쉽게 할 수 있도록 하는 프로그램 유지 보수 방법 및 이를 지원하는 컴퓨팅 장치를 제공하는 것을 그 목적으로 한다.For example, the present invention provides a program maintenance method for extracting job changes using snapshots stored in the source code history, and outputting the extracted job changes to facilitate program understanding and maintenance. An object of the present invention is to provide a supporting computing device.
상기와 같은 목적을 달성하기 위한 본 발명의 컴퓨팅 장치는 M개의 스냅샷들을 포함한 소스 코드 히스토리를 저장하는 메모리, 디스플레이, 상기 메모리 및 상기 디스플레이와 기능적으로 연결되는 프로세서를 포함하고, 상기 프로세서는 상기 메모리에 저장된 소스 코드 히스토리의 M개의 스냅샷들 중 n(n은 자연수)번째 스냅샷과 n-1번째 스냅샷에 대한 클래스 AST 페어링을 수행하고, 상기 페어링에 따른 AST 페어들 간의 비교를 수행하고, 상기 비교 결과를 기반으로 변경 사항을 식별하고, 상기 변경 사항을 작업 단위로 구분 및 시각화한 후, 상기 디스플레이에 출력하도록 설정된 것을 특징으로 하는 프로그램 유지 보수를 지원하는 컴퓨팅 장치.A computing device of the present invention for achieving the above object includes a memory for storing source code history including M snapshots, a display, the memory and a processor operatively connected to the display, wherein the processor includes the memory Class AST pairing is performed on the n (n is a natural number) snapshot and the n-1th snapshot among M snapshots of the source code history stored in , and comparison between AST pairs according to the pairing is performed, The computing device supporting program maintenance, characterized in that it is set to identify a change based on the comparison result, classify and visualize the change in units of work, and output the change to the display.
특히, 상기 프로세서는 상기 n-1 번째 스냅샷과 상기 n번째 스냅샷들 간의 비교를 수행하여 Java 파일 페어를 생성하고, 상기 Java 파일 페어로부터 클래스 페어의 AST 트리를 추출한 후, 각 클래스 AST 트리에 대한 페어링을 수행하도록 설정된 것을 특징으로 In particular, the processor generates a Java file pair by performing a comparison between the n-1 th snapshot and the n th snapshots, extracts an AST tree of a class pair from the Java file pair, and stores the AST tree in each class AST tree. characterized in that it is set to perform pairing for
또한, 상기 프로세서는 상기 코드 변경 사항에 대한 확인을 통해 상기 AST 페어들의 변경 타입을 정보 수정, 정보 삭제, 정보 추가로 구분하도록 설정된 것을 특징으로 한다.In addition, the processor is characterized in that it is configured to classify the change types of the AST pairs into information modification, information deletion, and information addition by checking the code change.
상기 프로세서는 상기 정보 수정, 정보 삭제, 정보 추가 중 적어도 하나를 색 또는 텍스트로 구분하여 상기 디스플레이 출력하도록 설정된 것을 특징으로 한다.The processor is characterized in that it is set to display and output at least one of the information correction, information deletion, and information addition by color or text.
여기서, 상기 프로세서는 상기 AST 페어의 변경 타입들에 대한 작업 단위 구분을 수행하는 과정에서 각 작업 단위들에 대한 수정, 삭제, 추가를 확인하고, 작업별로 수정, 삭제 또는 추가에 대해 구분 표시하도록 설정될 수 있다.Here, the processor confirms the modification, deletion, and addition of each work unit in the process of classifying the work unit for the change types of the AST pair, and sets the correction, deletion, or addition to be displayed separately for each work can be
본 발명의 실시 예에 따른 프로그램 유지 보수 방법은, 메모리에 저장된 소스 코드 히스토리의 M개의 스냅샷들 중 n(n은 자연수)번째 스냅샷과 n-1번째 스냅샷을 획득하는 단계, 상기 n번째 스냅샷과 n-1번째 스냅샷에 대한 클래스 AST 페어링을 수행하는 단계, 상기 페어링에 따른 AST 페어들 간의 비교를 수행하는 단계, 상기 비교 결과를 기반으로 변경 사항을 식별하는 단계, 상기 변경 사항을 작업 단위로 구분 및 시각화한 후, 상기 디스플레이에 출력하는 단계를 포함하는 것을 특징으로 한다.A program maintenance method according to an embodiment of the present invention includes: acquiring an nth (n is a natural number)th snapshot and an n−1th snapshot among M snapshots of a source code history stored in a memory, the nth snapshot performing class AST pairing for the snapshot and the n-1th snapshot, performing a comparison between AST pairs according to the pairing, identifying a change based on the comparison result, the change After classifying and visualizing the work unit, it characterized in that it comprises the step of outputting to the display.
특히, 상기 AST 페어링을 수행하는 단계는 상기 n-1 번째 스냅샷과 상기 n번째 스냅샷들 간의 비교를 수행하여 Java 파일 페어를 생성하는 단계, 상기 Java 파일 페어로부터 클래스 페어의 AST 트리를 추출하는 단계, 각 클래스 AST 트리에 대한 페어링을 수행하는 단계를 포함하는 것을 특징으로 한다.In particular, performing the AST pairing includes generating a Java file pair by performing a comparison between the n-1 th snapshot and the n th snapshots, extracting an AST tree of a class pair from the Java file pair Step, characterized in that it comprises the step of performing pairing for each class AST tree.
그리고 상기 식별하는 단계는 상기 코드 변경 사항에 대한 확인을 통해 상기 AST 페어들의 변경 타입을 정보 수정, 정보 삭제, 정보 추가로 구분하는 단계를 포함하는 것을 특징으로 한다.And the step of identifying is characterized in that it comprises the step of classifying the change type of the AST pairs through information modification, information deletion, and information addition through the confirmation of the code change.
추가로, 상기 방법은 상기 정보 수정, 정보 삭제, 정보 추가 중 적어도 하나를 색 또는 텍스트로 구분하고 시각화한 후 상기 디스플레이 출력하는 단계를 더 포함하는 것을 특징으로 한다.In addition, the method may further include the step of displaying and outputting at least one of the information correction, information deletion, and information addition by color or text, and then visualized.
또한, 상기 출력하는 단계는 상기 AST 페어의 변경 타입들에 대한 작업 단위 구분을 수행하는 과정에서 각 작업 단위들에 대한 수정, 삭제, 추가를 확인하고, 작업별로 수정, 삭제 또는 추가에 대해 구분 표시하는 단계를 포함하는 것을 특징으로 한다.In addition, in the step of outputting, correction, deletion, and addition of each work unit is checked in the process of performing unit classification of the change types of the AST pair, and correction, deletion or addition is displayed separately for each task It is characterized in that it comprises the step of
상술한 본 발명은, VCS(version control system) 시스템에서 관리된 각 Version의 시스템 Source Code를 분석하고 이를 여러 개의 작업 단위로 표현하여 자동적으로 보여줌으로써 프로그램 유지 보수자들의 작업 효율성을 높일 뿐만 아니라 소프트웨어 교육측면에서도 해당 시스템이 어떻게 개발되었는지 보여줌으로써 개발에 대한 학습을 지원할 수 있다.The present invention described above analyzes the system source code of each version managed in the VCS (version control system) system, expresses it in several work units, and automatically shows it to improve the work efficiency of program maintainers as well as software education From the side, it can support learning about development by showing how the system was developed.
예컨대, 본 발명은 새로운 개발자가 팀에 합류하거나, 변경된 내용을 확인 및 사용하기 위해 새롭게 구축해야 하는 프로젝트의 개발 환경 및 실행 환경을 자동으로 제공할 수 있으며, 소프트웨어를 개발하기 위해 프로그래밍 언어의 이해가 필요한 모든 분야에 효과적인 교육 환경을 제공할 수 있다. For example, the present invention can automatically provide a development environment and execution environment for a project that a new developer must build anew to join a team or to check and use the changed content, and an understanding of a programming language to develop software We can provide an effective educational environment in all necessary fields.
도 1은 본 발명의 실시 예에 따른 컴퓨팅 장치 구성의 한 예를 나타낸 도면이다.
도 2는 본 발명의 실시 예에 따른 프로세서 구성의 한 예를 나타낸 도면이다.
도 3은 본 발명의 실시 예에 따른 프로그램 유지 보수 방법의 한 예를 나타낸 도면이다.
도 4a는 본 발명의 실시 예에 따른 프로그램 유지 보수와 관련한 시스템 운용 환경의 한 예를 나타낸 도면이다.
도 4b는 도 4a의 작업 단위 식별 정보를 확대한 도면이다.1 is a diagram illustrating an example of a configuration of a computing device according to an embodiment of the present invention.
2 is a diagram illustrating an example of a configuration of a processor according to an embodiment of the present invention.
3 is a diagram illustrating an example of a program maintenance method according to an embodiment of the present invention.
4A is a diagram illustrating an example of a system operating environment related to program maintenance according to an embodiment of the present invention.
4B is an enlarged view of work unit identification information of FIG. 4A.
이하, 본 발명의 바람직한 실시예를 첨부한 도면에 의거하여 보다 상세하게 설명하면 다음과 같다. 물론 본 발명의 권리범위는 하기의 실시예에 한정되는 것은 아니며, 본 발명의 기술적 요지를 벗어나지 않는 범위 내에서 당해 기술분야의 통상적인 지식을 가진자에 의하여 다양하게 변형 실시될 수 있다.Hereinafter, preferred embodiments of the present invention will be described in more detail based on the accompanying drawings. Of course, the scope of the present invention is not limited to the following examples, and various modifications may be made by those of ordinary skill in the art without departing from the technical gist of the present invention.
이하에서 설명되는 본 명세서 및 청구범위에 사용된 용어나 단어는 통상적이거나 사전적인 의미로 한정해서 해석되어서는 아니 되며, 발명자는 그 자신의 발명을 가장 최선의 방법으로 설명하기 위해 용어의 개념으로 적절하게 정의할 수 있다는 원칙에 입각하여 본 발명의 기술적 사상에 부합하는 의미와 개념으로 해석되어야만 한다. 따라서 본 명세서에 기재된 실시 예와 도면에 도시된 구성은 본 발명의 바람직한 실시 예에 불과할 뿐이고, 본 발명의 기술적 사상을 모두 대변하는 것은 아니므로, 본 출원시점에 있어서 이들을 대체할 수 있는 다양한 균등물과 변형예들이 있을 수 있다. The terms or words used in the present specification and claims described below should not be construed as being limited to their ordinary or dictionary meanings, and the inventors have appropriate concepts of terms to describe their invention in the best way. It should be interpreted as meaning and concept consistent with the technical idea of the present invention based on the principle that it can be defined in Therefore, the embodiments described in this specification and the configurations shown in the drawings are only preferred embodiments of the present invention, and do not represent all of the technical spirit of the present invention, so various equivalents that can be substituted for them at the time of the present application and variations.
이하에서 설명하는 본 발명의 컴퓨팅 장치 및 이의 운용 방법은 기존 시스템을 실행하고 변경하며 결과 값을 테스트 하는 과정을 통해, 소프트웨어의 각 부분의 소스 코드들의 연결과 전체적인 코드에 대해 깊은 이해를 가능하게 할 수 있다. 또한, 본 발명의 컴퓨팅 장치 및 이의 운용 방법은 소프트웨어의 개발 과정에서 수행된 테스트 통과 여부를 살펴볼 수 있는 기능을 제공함으로써, 개발자가 소프트웨어 개발 당시 발생한 문제해결을 위해 어떻게 소스 코드를 작성했는지 알 수 있어 재사용자가 중점적으로 분석해야 할 부분을 쉽게 식별할 수 있다. 이와 관련하여, 본 발명은 소프트웨어와 관련한 복수 버전의 소스 코드들과 해당 소스 코드들의 테스트 실행 환경 데이터(예: 개발 환경 정보, 테스트 환경 정보)를 매핑하여 저장 관리하고, 필요에 따라 테스트 컴퓨터 실행 환경을 복원하여 제공할 수 있다. 상기 테스트 환경 정보는 실행 결과가 더 포함될 수 있다. The computing device and its operating method of the present invention described below enable a deep understanding of the overall code and the connection of the source codes of each part of the software through the process of executing and changing the existing system and testing the result value. can In addition, the computing device and its operating method of the present invention provide a function to check whether the test performed in the software development process has passed, so that the developer can know how the source code was written to solve the problem that occurred at the time of software development. The reuser can easily identify the areas to focus on. In this regard, the present invention maps, stores and manages multiple versions of software-related source codes and test execution environment data (eg, development environment information, test environment information) of the source codes, and, if necessary, a test computer execution environment can be restored and provided. The test environment information may further include an execution result.
이하, 첨부된 도면을 참조하여 본 발명의 실시 예를 보다 상세하게 설명하고자 한다.Hereinafter, embodiments of the present invention will be described in more detail with reference to the accompanying drawings.
도 1은 본 발명의 실시 예에 따른 컴퓨팅 장치 구성의 한 예를 나타낸 도면이다.1 is a diagram illustrating an example of a configuration of a computing device according to an embodiment of the present invention.
도 1을 참조하면, 본 발명의 실시 예에 따른 컴퓨팅 장치(100)는 통신 인터페이스(110), 메모리(130), 디스플레이(140) 및 프로세서(150)를 포함할 수 있다. 추가적으로, 상기 컴퓨팅 장치(100)는 사용자 입력을 수행할 수 있는, 입력 장치(170), 오디오 정보를 출력할 수 있는 출력 장치(180)를 더 포함할 수 있다. Referring to FIG. 1 , a
상기 통신 인터페이스(110)는 상기 컴퓨팅 장치(100)의 통신 기능을 지원할 수 있다. 상기 통신 인터페이스(110)는 유선 통신 채널 또는 무선 통신 채널 중 적어도 하나를 지원할 수 있는 적어도 하나의 통신 회로 및 무선 통신 채널을 지원하는 적어도 하나의 안테나를 포함할 수 있다. 예컨대, 상기 통신 인터페이스(110)는 프로세서(150) 제어에 대응하여, 다른 메모리 장치 또는 서버 장치와 통신 채널을 형성하고, 다른 메모리 장치 또는 서버 장치로부터 프로그램 개발에 이용된 버전별 스냅샷들을 수신할 수 있다. 수신된 상기 버전별 스냅샷들은 프로세서(150) 제어에 대응하여 메모리(130)에 저장될 수 있다. 상기 프로그램이 컴퓨팅 장치(100)에서 개발된 경우, 상기 버전별 스냅샷들을 수신하는 통신 인터페이스(110) 구성은 생략될 수도 있다. 추가로, 상기 통신 인터페이스(110)는 컴퓨팅 장치(100)와 독립적으로 구성된 입출력 장치와 통신 채널을 형성하고, 프로세서(150) 제어에 대응하여 작업 단위 식별 결과를 외부 입출력 장치(또는 외부 전자 장치)에 전송할 수 있다.The
상기 메모리(130)는 상기 컴퓨팅 장치(100) 구동에 필요한 프로그램 및 데이터를 저장할 수 있다. 특히, 상기 메모리(130)는 본 발명의 실시 예에 따른 프로그램 버전별 스냅샷들에 대한 작업 단위 분류 결과 출력과 관련하여, 상기 프로그램 버전별 스냅샷들을 저장할 수 있다. 상기 프로그램 버전별 스냅샷들(예: M개 스냅샷(30))은 예컨대, 메모리(130)에 저장된 소스 코드 히스토리(131)에 포함될 수 있다. 상기 소스 코드 히스토리(131)는 앞서 설명한 바와 같이, 특정 프로그램 개발 과정에서 저장되거나, 다른 외부 서버 장치 등으로부터 수신될 수 있다. 상기 메모리(130)는 작업 단위 분류 결과를 임시 저장할 수 있으며, 프로그램 버전별 스냅샷들로부터 작업 단위 분류 결과를 추출하는 과정에서 처리되는 데이터를 임시 저장할 수 있다. The
상기 디스플레이(140)는 컴퓨팅 장치(100) 운용과 관련한 적어도 하나의 화면을 출력할 수 있다. 예컨대, 상기 컴퓨팅 장치(100)가 프로그램 개발에 이용되는 경우, 상기 디스플레이(140)는 개발 과정에 필요한 다양한 화면을 출력할 수 있다. 또는, 상기 디스플레이(140)는 프로그램 버전별 스냅샷들을 외부 서버 장치 또는 외부 메모리 장치로부터 상기 통신 인터페이스(110)를 통해 수신하는 경우, 상기 외부 서버 장치 또는 외부 메모리 장치와 컴퓨팅 장치(100)의 연결에 대응하는 화면, 상기 프로그램 버전별 스냅샷들을 포함한 소스 코드 히스토리(131)를 수신하는 화면, 상기 소스 코드 히스토리(131)를 메모리(130)에 저장하는 화면 등을 출력할 수 있다. 상기 디스플레이(140)는 사용자(또는 프로그램 유지 보수자) 요청에 대응하여 메모리(130)에 저장된 M개의 스냅샷(30)들 각각 출력할 수 있다. 또는, 디스플레이(140)는 M개의 스냅샷(30)들을 기반으로 생성된 클래스 X AST 페어들을 나타내는 화면, 코드 변경 사항에 대한 식별 결과, 정보의 수정, 삭제, 추가를 지시하는 화면, 작업 단위 식별 분류된 화면 등을 출력할 수 있다. 상기 디스플레이(140)는 상기 컴퓨팅 장치(100)와 일체화된 형태로 마련되거나 또는 별도의 유선 케이블 또는 무선 통신 채널을 통해 연결될 수 있다. 또한, 상기 디스플레이(140)는 복수개의 표시 장치를 포함할 수 있으며, 복수개의 표시 장치들은 본 발명의 작업 단위 식별 분류 과정 각각에 대한 화면들을 각각 출력할 수 있다. The
상기 입력 장치(170)는 상기 컴퓨팅 장치(100)에 대한 사용자 입력을 수행할 수 있는 적어도 하나의 입력 수단을 포함할 수 있다. 예컨대, 상기 입력 장치(170)는 컴퓨팅 장치(100)와 기능적으로 연결된 키보드, 키패드, 마우스, 음성 입력 장치, 터치스크린, 터치 패드, 스타일러스 팬 및 그에 상응하는 전자 패널 중 적어도 하나를 포함할 수 있다. 상기 디스플레이(140)가 입력 기능(예: 터치 기능)을 포함하는 경우, 상기 디스플레이(140)는 상기 입력 장치(170)의 한 구성이 될 수 있다. 상기 입력 장치(170)는 프로그램 버전별 스냅샷들에 대한 작업 단위 분류 식별 및 표시에 관한 다양한 입력 신호를 사용자 제어에 대응하여 생성할 수 있다. 예컨대, 상기 입력 장치(170)는 특정 프로그램에 대한 유지 보수를 요청하는 사용자 입력 신호, 상기 유지 보수에 대응하여 특정 단계(예: Class X의 AST 페어 단계, 페어링 결과에 대한 변경 사항 식별 단계, 식별 결과 표시 단계 등을 호출하는 사용자 입력 신호를 사용자 제어에 대응하여 생성할 수 있다. 상기 사용자 입력 신호는 프로세서(150)에 전달되어, 대응되는 기능 수행 또는 화면 출력과 관련한 트리거 신호로 작용할 수 있다. The
상기 출력 장치(180)는 상기 컴퓨팅 장치(100)와 기능적으로 연결되는 적어도 하나의 출력 수단을 포함할 수 있다. 예컨대, 상기 출력 장치(180)는 지정된 텍스트 또는 이미지를 출력할 수 있는 상기 디스플레이(140)를 포함할 수 있다. 또한, 상기 출력 장치(180)는 본 발명의 실시 예에 따른 프로그램 버전 별 스냅샷을 기반으로 작업 단위 별 식별 분류 결과와 관련한 오디오 정보를 출력할 수 있는 오디오 장치(예: 스피커)를 포함할 수 있다. 또는, 상기 출력 장치(180)는 LED 램프 또는 진동 센서 등을 포함할 수도 있다. 상기 출력 장치(180)는 컴퓨팅 장치(100) 운용과 관련한 다양한 정보 출력을 위한 구성으로서, 유선 케이블 또는 무선으로 연결될 수 있는 독립된 장치를 포함할 수 있다. The
상기 프로세서(150)는 상기 컴퓨팅 장치(100) 운용과 관련한 프로그램의 활성화, 프로그램 운용에 필요한 데이터의 전달 및 처리를 수행할 수 있다. 본 발명의 프로세서(150)는 프로그램 유지 보수와 관련한 적어도 하나의 알고리즘 또는 작업 단위 식별 분류 결과 출력을 위해 마련된 소프트웨어 구동 등을 수행할 수 있다. 이와 관련하여, 상기 프로세서(150)는 도 2에 도시된 바와 같은 구성을 포함할 수 있다. The
도 2는 본 발명의 실시 예에 따른 프로세서 구성의 한 예를 나타낸 도면이다.2 is a diagram illustrating an example of a processor configuration according to an embodiment of the present invention.
도 2를 참조하면, 본 발명의 실시 예에 따른 프로세서(150) 구성은 AST 페어 생성부(151), 비교부(153), 작업 식별부(155)를 포함할 수 있다.Referring to FIG. 2 , the configuration of the
상기 AST 페어 생성부(151)는 특정 프로그램에 관한 유지 보수와 관련하여, 작업 단위 식별 결과 출력을 요청하는 사용자 입력이 발생하면, 특정 프로그램 개발과 관련하여 메모리(130)에 저장된 소스 코드 히스토리(131)에서 M(M은 자연수 또는 N과 같거나 큰 자연수)개의 스냅샷(30)들을 수집할 수 있다. 상기 M개의 스냅샷(30)들은 상기 특정 프로그램 개발 과정에서 기록된 전체 스냅샷들 또는 전체 스냅샷들 중 사용자가 지정된 일정 실행 기능과 관련한 일부 스냅샷들을 포함할 수 있다. 앞서 언급한 바와 같이, 상기 M개의 스냅샷(30)들은 외부 서버 장치 또는 외부 메모리 장치로부터 수신될 수도 있다. 상기 AST 페어 생성부(151)는 상기 M개의 스냅샷(30)들에 대한 페어링을 수행할 수 있다. 이와 관련하여, 상기 AST 페어 생성부(151)는 M개의 스냅샷(30)들의 순서를 확인하고, 이전 순서의 제1 스냅샷과 현재 순서의 제2 스냅샷을 선택하고, 제1 스냅샷과 제2 스냅샷에 대한 비교를 위해 Java 파일 페어를 생성할 수 있다. 상기 AST 페어 생성부(151)는 생성된 Java 파일 페어들에 대한 AST Tree를 추출하고, 추출된 페어의 AST Tree에 대해 Class AST Tree 페어링을 수행할 수 있다. 상기 AST 페어 생성부(151)는 각 순서별로 생성된 Class AST Tree 페어들을 비교부(153)에 전달할 수 있다.The
상기 비교부(153)는 상기 AST 페어 생성부(151)로부터 Class X의 AST 페어들 예컨대, M개의 스냅샷(30)들에 대한 AST 페어들에 대한 코드 변경 사항을 식별할 수 있다. 즉, 페어 관계인 제1 스냅샷의 Class들과 제2 스냅샷의 Class들 상호 비교하여 변경된 사항 예컨대, 수정, 삭제, 추가를 식별할 수 있다. 상기 비교부(153)는 사용자 요청에 따라 AST 페어들 간의 수정, 삭제 및 추가 결과를 디스플레이(140)에 출력할 수도 있다. 이때, 비교부(153)는 수정, 삭제, 추가식별을 위하여, 해당 항목들에 대해 각기 서로 다른 색을 할당하면서, 색이 지시하는 정보를 텍스트로 제공할 수 있다. 상기 비교부(153)는 식별 결과를 작업 식별부(155)에 전달할 수 있다. 또는, 비교부(153)는 수정, 삭제, 추가를 지시하는 텍스트, 예컨대, M(modify), D(delete), A(add)를 관련 항목 또는 항목이 있었던 위치에 출력할 수 있다. The
상기 작업 식별부(155)는 비교부(153)로부터 수신한 비교 결과 예컨대, AST 페어들 간의 수정, 삭제, 추가 사항들에 대하여 작업 단위로 구분할 수 있다. 이와 관련하여, 작업 식별부(155)는 사전 정의된 알고리즘을 이용하여 AST 페어들 간의 수정(M), 삭제(D), 추가(A)에 대한 검색 빌드를 수행할 수 있다. 상기 작업 식별부(155)는 구분된 작업들에 대하여, 디스플레이(140)에 시각화하여 출력하되, 수정, 삭제, 추가된 작업들을 색 또는 텍스트를 이용하여 구분 및 시각화한 후 출력할 수 있다. 이 과정에서, 상기 작업 식별부(155)는 수정, 삭제, 추가 작업이 있는 경우, 해당 항목 검출에 대한 지정된 정보(예: 알람에 대응하는 오디오 정보 또는 텍스트나 이미지 정보 또는 화면 효과 등)를 출력할 수 있다. The
도 3은 본 발명의 실시 예에 따른 프로그램 유지 보수 방법의 한 예를 나타낸 도면이다.3 is a diagram illustrating an example of a program maintenance method according to an embodiment of the present invention.
도 3을 참조하면, 본 발명의 실시 예에 따른 프로그램 유지 보수 방법과 관련하여, 301 단계에서, 컴퓨팅 장치(100)의 프로세서(150)는 N-1 번째 및 N 번째 스냅샷을 수집할 수 있다. 이와 관련하여, 상기 프로세서(150)는 메모리(130)에 저장된 M개의 스냅샷(30)으로부터 스냅샷들을 획득하거나, 외부 전자 장치(예: 외부 서버 장치 또는 외부 메모리 장치)로부터 M개의 스냅샷들을 획득할 수 있다. 외부 전자 장치로부터 M개의 스냅샷들을 획득하는 과정에서, 통신 인터페이스(110)를 통해 수신된 M개의 스냅샷들을 상기 메모리(130)에 임시 저장된 후, 프로세서(150)의 처리가 적용될 수 있다. Referring to FIG. 3 , in relation to the program maintenance method according to an embodiment of the present invention, in
303 단계에서, 상기 프로세서(150)는 Class X의 AST 페어를 생성할 수 있다. 이와 관련하여, 프로세서(150)는 이전 순서의 제1 스냅샷과 현재 순서의 제2 스냅샷 비교를 수행하면서, Java 파일의 페어를 생성하고, 클래스 페어의 AST 트리 추출 및 각 클래스 AST 트리들에 대한 페어링을 수행할 수 있다.In
305 단계에서, 상기 프로세서(150)는 변경 사항을 식별할 수 있다. 페어링 이후 짝지어진 AST 페어(또는 Class X의 AST 페어)들을 상호 비교하여, 정보의 변경 사항 확인을 위한 식별 작업 예컨대 비교 작업을 수행할 수 있다. 307 단계에서, 상기 프로세서(150)는 식별 결과에서 변경 사항 예컨대, 수정, 삭제, 추가된 부분이 있는지 확인할 수 있다. 상기 프로세서(150)는 변경 사항들의 타입에 따라 특정 심볼(예: 수정-M, 삭제-D, 추가-A)을 할당하거나, 특정 색을 할당하거나, 또는 두 가지 분류 방법 모두를 적용할 수 있다. In
변경 사항이 있는 경우, 상기 프로세서(150)는 309 단계에서 작업 단위 식별 및 출력을 수행할 수 있다. 이와 관련하여, 프로세서(150)는 사전에 마련된 알고리즘을 구동하여, Class의 각 작업들에 대한 수정, 삭제, 추가 부분을 식별할 수 있다. 식별된 정보들은 디스플레이(140)에 출력될 수 있다. 변경 사항이 없는 경우, 상기 프로세서(150)는 309 단계를 스킵할 수 있다.If there is a change, the
다음으로, 상기 프로세서(150)는 상기 N번째 스냅샷이 마지막 스냅샷(last)인지 확인할 수 있다. 상기 N번째 스냅샷이 마지막 스냅샷인 경우, 상기 프로세서(150)는 프로그램 유지 보수와 관련한 루틴을 종료할 수 있다. 상기 N번째 스냅샷이 마지막 스냅샷이 아닌 경우, 상기 프로세서(150)는 313 단계에서 N 값을 1 증가(N에 N+1 값을 대입)시키고, 301 단계 이전으로 분기하여 이하 동작을 재수행할 수 있다. Next, the
도 4a는 본 발명의 실시 예에 따른 프로그램 유지 보수와 관련한 시스템 운용 환경의 한 예를 나타낸 도면이며, 도 4b는 도 4a의 작업 단위 식별 정보를 확대한 도면이다.4A is a diagram illustrating an example of a system operating environment related to program maintenance according to an embodiment of the present invention, and FIG. 4B is an enlarged view of work unit identification information of FIG. 4A.
도 4a 및 도 4b를 참조하면, 본 발명의 프로그램 유지 보수와 관련하여, 컴퓨팅 장치(100)는 410 단계에서, Nth Snapshot 및 N-1th Snapshot을 획득할 수 있다. 이와 관련하여, 컴퓨팅 장치(100)의 메모리(130)는 특정 프로그램의 개발 과정에서 각 버전별 스냅샷들을 저장할 수 있다. 또는, 컴퓨팅 장치(100)는 통신 인터페이스(110)를 통하여 특정 프로그램의 개발 버전별 스냅샷들을 저장한 메모리 장치와 통신 채널을 형성하고, 상기 통신 채널을 통하여, 상기 메모리 장치로부터 상기 버전별 스냅샷들을 획득할 수 있다. 상기 메모리 장치는 상기 컴퓨팅 장치(100)와 유선 케이블 또는 무선 통신 채널을 통해 연결될 수 있다. 4A and 4B , in relation to program maintenance according to the present invention, the
상기 각 버전별 프로그램들이 Java 언어로 작성된 것을 가정하면, 컴퓨팅 장치(100)는 420 단계에서 Class X의 AST 페어를 생성 및 페어들 간의 비교를 수행하여 코드 변경 사항에 대한 식별을 수행할 수 있다. 이를 보다 상세히 설명하면, 상기 컴퓨팅 장치(100)는 421 단계에서, 획득된 Nth Snapshot 및 N-1th Snapshot에 대해, 비교되는 자바 파일 셋트 페어(Set of Diff Java File pair)를 생성하고, 상기 생성된 자바 파일 페어로부터 클래스 페어들의 AST 트리(Class Pair`s AST Tree)를 추출한 후, 각 클래스 AST 트리 페어링(Each Class AST Tree pairing)을 수행할 수 있다. 즉, 컴퓨팅 장치(100)는 421 단계에서, Class X의 AST 페어 생성을 위해, 자바 파일 페어, 페어들의 AST 트리 추출 및 트리들의 페어링 수행을 수행할 수 있다. 상기 컴퓨팅 장치(100)는 421 단계에서 생성된 클래스 AST 트리 페어링에 대한 결과들을 423 단계에서, 페어별로 분류 및 메모리(130)에 임시 저장할 수 있다. 상기 컴퓨팅 장치(100)는 425 단계에서, 각 클래스 X의 AST 페어들에 대한 코드 변경 사항을 식별을 위하여, 페어들 간의 비교 작업을 수행할 수 있다. Assuming that the programs for each version are written in the Java language, in
다음으로, 상기 컴퓨팅 장치(100)는 430 단계에서, 페어들 간의 비교 작업에 대한 결과 즉, 변경 사항이 있는 AST 페어들의 변경 타입을 결정할 수 있다. 예컨대, 상기 컴퓨팅 장치(100)는 페어들 간의 비교 결과로서, 상기 AST 페어들을 특정 정보가 수정된 페어, 특정 정보가 삭제된 페어, 특정 정보가 추가된 페어들로 분류할 수 있다. 상기 정보가 수정된 페어는 N-1 번째 스냅샷에 있는 특정 정보가 N번째 스냅샷에서 다른 정보로 대체된 경우를 포함할 수 있다. 상기 정보가 삭제된 페어는 N-1 번째 스냅샷에 있는 특정 정보가 N번째 스냅샷에서 제거된 경우를 포함할 수 있다. 상기 정보가 추가된 페어는 N-1 번째 스냅샷에 없는 특정 정보가 N번째 스냅샷에 포함된 경우를 포함할 수 있다. Next, in
상기 컴퓨팅 장치(100)는 440 단계에서, 분류된 페어들에 대한 작업 단위 식별을 수행할 수 있다. 도 4b를 참조하면, 작업 단위 식별과 관련하여, 컴퓨팅 장치(100)는 알고리즘을 이용한 태스크들의 식별(Algorithm 1: Identifying Tasks)을 수행하되, 430 단계에서 분류한 AST 페어들에 대한 Task 식별을 수행할 수 있다. In
작업 단위 식별을 완료한 후, 컴퓨팅 장치(100)는 450 단계에서, 각 작업별 분류 결과(예: 작업 1...작업n)를 디스플레이(140)에 출력할 수 있다. 상기 디스플레이(140)에 출력되는 작업별 분류 결과는 작업 단위 삭별 과정에서 검토된 수정, 삭제, 추가들에 대한 정보가 구분 및 시각화되어 표시될 수 있다. 예컨대, 디스플레이(140)에 출력되는 작업별 분류 결과는 색 또는 명암 등을 기반으로 수정, 삭제, 추가 사항들이 구별되어 표시될 수 있다. “삭제”의 경우, 삭제된 사항들에 대한 메모 정보로 표시될 수 도 있다.After completing the task unit identification, in
상술한 본 발명의 실시 예들은 AST(Abstract Syntax Tree)를 활용한 Method Attribute 요소 중심의 개발 과정 시각화 방식을 사용하여 직관성을 높이며 별도의 System Build 없이도 정적분석을 활용한 방식으로 개발의 과정을 보여줌으로써 각 Version마다 어떠한 작업이 수행 되었는지를 보여줄 수 있다.The above-described embodiments of the present invention increase intuition by using a method attribute element-centered development process visualization method using AST (Abstract Syntax Tree), and show the development process in a manner using static analysis without a separate system build. It can show what kind of work was performed for each version.
한편, 본 명세서와 도면에 개시된 실시 예들은 이해를 돕기 위해 특정 예를 제시한 것에 지나지 않으며, 본 발명의 범위를 한정하고자 하는 것은 아니다. 여기에 개시된 실시 예들 이외에도 본 발명의 기술적 사상에 바탕을 둔 다른 변형예들이 실시 가능하다는 것은, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게는 자명한 것이다.On the other hand, the embodiments disclosed in the present specification and drawings are merely presented as specific examples to aid understanding, and are not intended to limit the scope of the present invention. It will be apparent to those of ordinary skill in the art to which the present invention pertains that other modifications based on the technical spirit of the present invention can be implemented in addition to the embodiments disclosed herein.
100: 컴퓨팅 장치
110: 통신 인터페이스
130: 메모리
140: 디스플레이
150: 프로세서
151: AST 페어 생성부
153: 비교부
155: 작업 식별부100: computing device
110: communication interface
130: memory
140: display
150: processor
151: AST pair generator
153: comparison unit
155: job identification unit
Claims (10)
디스플레이;
상기 메모리 및 상기 디스플레이와 기능적으로 연결되는 프로세서;를 포함하고,
상기 프로세서는
상기 메모리에 저장된 소스 코드 히스토리의 M개의 스냅샷들 중 n(n은 자연수)번째 스냅샷과 n-1번째 스냅샷에 대한 클래스 AST 페어링을 수행하고, 상기 페어링에 따른 AST 페어들 간의 비교를 수행하고,
상기 비교 결과를 기반으로 변경 사항을 식별하고,
상기 변경 사항을 작업 단위로 구분 및 시각화한 후, 상기 디스플레이에 출력하도록 설정된 것을 특징으로 하는 프로그램 유지 보수를 지원하는 컴퓨팅 장치.a memory for storing source code history including M snapshots;
display;
Including a; processor operatively connected to the memory and the display;
the processor is
Class AST pairing is performed on the n-th snapshot and the n-1th snapshot among M snapshots of the source code history stored in the memory, and comparison between AST pairs according to the pairing is performed. do,
identifying changes based on the results of said comparison;
Computing device supporting program maintenance, characterized in that the change is set to be output to the display after classifying and visualizing the change in units of work.
상기 프로세서는
상기 n-1 번째 스냅샷과 상기 n번째 스냅샷들 간의 비교를 수행하여 Java 파일 페어를 생성하고, 상기 Java 파일 페어로부터 클래스 페어의 AST 트리를 추출한 후, 각 클래스 AST 트리에 대한 페어링을 수행하도록 설정된 것을 특징으로 하는 프로그램 유지 보수를 지원하는 컴퓨팅 장치.The method of claim 1,
the processor
Create a Java file pair by performing a comparison between the n-1 th snapshot and the n th snapshots, extract an AST tree of a class pair from the Java file pair, and perform pairing for each class AST tree A computing device supporting program maintenance, characterized in that set.
상기 프로세서는
상기 코드 변경 사항에 대한 확인을 통해 상기 AST 페어들의 변경 타입을 정보 수정, 정보 삭제, 정보 추가로 구분하도록 설정된 것을 특징으로 하는 프로그램 유지 보수를 지원하는 컴퓨팅 장치.According to claim 1,
the processor is
The computing device supporting program maintenance, characterized in that it is set to classify the change types of the AST pairs into information correction, information deletion, and information addition through the confirmation of the code change.
상기 프로세서는
상기 정보 수정, 정보 삭제, 정보 추가 중 적어도 하나를 색 또는 텍스트로 구분하여 상기 디스플레이 출력하도록 설정된 것을 특징으로 하는 프로그램 유지 보수를 지원하는 컴퓨팅 장치.4. The method of claim 3,
the processor is
The computing device supporting program maintenance, characterized in that the display is set to classify at least one of the information correction, information deletion, and information addition by color or text.
상기 프로세서는
상기 AST 페어의 변경 타입들에 대한 작업 단위 구분을 수행하는 과정에서 각 작업 단위들에 대한 수정, 삭제, 추가를 확인하고, 작업별로 수정, 삭제 또는 추가에 대해 구분 표시하도록 설정된 것을 특징으로 하는 프로그램 유지 보수를 지원하는 컴퓨팅 장치. According to claim 1,
the processor is
A program characterized in that it is set to confirm correction, deletion, and addition of each work unit in the process of performing unit classification of the change types of the AST pair, and to display the correction, deletion or addition separately for each task Computing devices that support maintenance.
메모리에 저장된 소스 코드 히스토리의 M개의 스냅샷들 중 n(n은 자연수)번째 스냅샷과 n-1번째 스냅샷을 획득하는 단계;
상기 n번째 스냅샷과 n-1번째 스냅샷에 대한 클래스 AST 페어링을 수행하는 단계;
상기 페어링에 따른 AST 페어들 간의 비교를 수행하는 단계;
상기 비교 결과를 기반으로 변경 사항을 식별하는 단계;
상기 변경 사항을 작업 단위로 구분 및 시각화한 후, 상기 디스플레이에 출력하는 단계;를 포함하는 것을 특징으로 하는 프로그램 유지 보수 방법.A program maintenance method comprising:
acquiring an n-th snapshot and an n-1 th snapshot among M snapshots of the source code history stored in a memory;
performing class AST pairing for the nth snapshot and the n-1th snapshot;
performing comparison between AST pairs according to the pairing;
identifying a change based on the comparison result;
and after classifying and visualizing the change in units of work, outputting it to the display.
상기 AST 페어링을 수행하는 단계는
상기 n-1 번째 스냅샷과 상기 n번째 스냅샷들 간의 비교를 수행하여 Java 파일 페어를 생성하는 단계;
상기 Java 파일 페어로부터 클래스 페어의 AST 트리를 추출하는 단계;
각 클래스 AST 트리에 대한 페어링을 수행하는 단계;를 포함하는 것을 특징으로 하는 프로그램 유지 보수 방법. 7. The method of claim 6,
The step of performing the AST pairing is
generating a Java file pair by performing comparison between the n-1 th snapshot and the n th snapshots;
extracting an AST tree of a class pair from the Java file pair;
A program maintenance method comprising a; performing pairing for each class AST tree.
상기 식별하는 단계는
상기 코드 변경 사항에 대한 확인을 통해 상기 AST 페어들의 변경 타입을 정보 수정, 정보 삭제, 정보 추가로 구분하는 단계;를 포함하는 것을 특징으로 하는 프로그램 유지 보수 방법. 7. The method of claim 6,
The step of identifying
and classifying the change types of the AST pairs into information modification, information deletion, and information addition by checking the code change.
상기 정보 수정, 정보 삭제, 정보 추가 중 적어도 하나를 색 또는 텍스트로 구분하여 상기 디스플레이 출력하는 단계;를 더 포함하는 것을 특징으로 하는 프로그램 유지 보수 방법. 9. The method of claim 8,
and outputting the display by classifying at least one of the information correction, information deletion, and information addition by color or text.
상기 출력하는 단계는
상기 AST 페어의 변경 타입들에 대한 작업 단위 구분을 수행하는 과정에서 각 작업 단위들에 대한 수정, 삭제, 추가를 확인하고, 작업별로 수정, 삭제 또는 추가에 대해 구분 표시하는 단계;를 포함하는 것을 특징으로 하는 프로그램 유지 보수 방법.7. The method of claim 6,
The output step is
In the process of classifying the work units for the change types of the AST pair, confirming correction, deletion, and addition of each work unit, and displaying the correction, deletion, or addition for each work separately; A program maintenance method characterized.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200153987A KR102422972B1 (en) | 2020-11-17 | 2020-11-17 | Method for maintenance for program and computing device supporting the same |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200153987A KR102422972B1 (en) | 2020-11-17 | 2020-11-17 | Method for maintenance for program and computing device supporting the same |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20220067366A true KR20220067366A (en) | 2022-05-24 |
KR102422972B1 KR102422972B1 (en) | 2022-07-19 |
Family
ID=81805558
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020200153987A KR102422972B1 (en) | 2020-11-17 | 2020-11-17 | Method for maintenance for program and computing device supporting the same |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102422972B1 (en) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20000039608A (en) * | 1998-12-15 | 2000-07-05 | 이계철 | Method and apparatus for forming protocol using abstract syntax notation |
KR20050065015A (en) * | 2003-12-24 | 2005-06-29 | (주) 뉴스텍시스템즈 | System and method for checking program plagiarism |
KR20070021879A (en) * | 2005-08-19 | 2007-02-23 | 한국전자통신연구원 | Apparatus and method for generation of test driver |
JP2019160284A (en) * | 2018-03-08 | 2019-09-19 | 富士通株式会社 | Representing software using abstract code graph |
KR20200080704A (en) | 2018-12-27 | 2020-07-07 | 주식회사넥싸이트 | Debuging device displaying diagnosis code of computer |
-
2020
- 2020-11-17 KR KR1020200153987A patent/KR102422972B1/en active IP Right Grant
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20000039608A (en) * | 1998-12-15 | 2000-07-05 | 이계철 | Method and apparatus for forming protocol using abstract syntax notation |
KR20050065015A (en) * | 2003-12-24 | 2005-06-29 | (주) 뉴스텍시스템즈 | System and method for checking program plagiarism |
KR20070021879A (en) * | 2005-08-19 | 2007-02-23 | 한국전자통신연구원 | Apparatus and method for generation of test driver |
JP2019160284A (en) * | 2018-03-08 | 2019-09-19 | 富士通株式会社 | Representing software using abstract code graph |
KR20200080704A (en) | 2018-12-27 | 2020-07-07 | 주식회사넥싸이트 | Debuging device displaying diagnosis code of computer |
Also Published As
Publication number | Publication date |
---|---|
KR102422972B1 (en) | 2022-07-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9298453B2 (en) | Source code analytics platform using program analysis and information retrieval | |
US20160357519A1 (en) | Natural Language Engine for Coding and Debugging | |
AU2016201389A1 (en) | Method and system for process automation in computing | |
EP3314409B1 (en) | Tracing dependencies between development artifacts in a software development project | |
JP6440895B2 (en) | Software analysis apparatus and software analysis method | |
US7765535B2 (en) | Software development tool program | |
JP6845429B2 (en) | Compiler program, information processing device and compilation method | |
US9280407B2 (en) | Program development in a distributed server environment | |
CN115705250A (en) | Monitoring stack usage to optimize programs | |
US10678864B2 (en) | Analysis model preparing system, programming apparatus, and analysis model preparing method | |
US11119899B2 (en) | Determining potential test actions | |
JP6866270B2 (en) | SQL statement extraction device, SQL statement extraction method and program | |
JP2013152730A (en) | Plasma processing system component analysis software and method and system for creating the same | |
KR102422972B1 (en) | Method for maintenance for program and computing device supporting the same | |
CN108885574B (en) | System for monitoring and reporting performance and correctness issues at design, compilation, and runtime | |
JP5758311B2 (en) | Test code generation device, test code generation method, test code generation program | |
US7036045B2 (en) | Method and system for isolating exception related errors in Java JVM | |
US9268675B2 (en) | Computerized system and method for auditing software code | |
US10310958B2 (en) | Recording medium recording analysis program, analysis method, and analysis apparatus | |
CN114356783A (en) | Method and device for automatically generating unit test code, storage medium and equipment | |
CN111611173A (en) | System and method applied to micro-service engineering interface document detection | |
JP4983027B2 (en) | Check program and check method | |
Gerdes | Developing applications to automatically grade introductory visual basic courses | |
Khanam et al. | Aspectual Analysis of Legacy Systems: Code Smells and Transformations in C | |
JP2017054453A (en) | Analysis program, analysis method, and analysis device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |