KR970076256A - 병렬 프로그램의 실행오류 인식방법 - Google Patents

병렬 프로그램의 실행오류 인식방법 Download PDF

Info

Publication number
KR970076256A
KR970076256A KR1019960014315A KR19960014315A KR970076256A KR 970076256 A KR970076256 A KR 970076256A KR 1019960014315 A KR1019960014315 A KR 1019960014315A KR 19960014315 A KR19960014315 A KR 19960014315A KR 970076256 A KR970076256 A KR 970076256A
Authority
KR
South Korea
Prior art keywords
event
array value
sub
execution
state
Prior art date
Application number
KR1019960014315A
Other languages
English (en)
Other versions
KR100205071B1 (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 KR1019960014315A priority Critical patent/KR100205071B1/ko
Publication of KR970076256A publication Critical patent/KR970076256A/ko
Application granted granted Critical
Publication of KR100205071B1 publication Critical patent/KR100205071B1/ko

Links

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/362Software debugging
    • G06F11/3636Software debugging by tracing the execution of the program
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Stored Programmes (AREA)
  • Debugging And Monitoring (AREA)

Abstract

본 발명은 분산 및 공유 메모리 환경을 지원하는 고속 병렬 컴퓨터 상에서 실행되는 병렬 프로그램에 대하여 프로그램의 실행이 정상적인지 또는 비정상적인지를 검사하여 실행과정에서 발생하는 오류를 인식하는 인식방법에 관한 것으로서, 그 특징은 분산 및 공유 메모리 환경을 지원하는 고속 병렬 컴퓨터 상에서 실행되는 병렬 프로그램에 대하여 실행과정에서 발생하는 오류를 인식하는 병렬 프로그램의 실행오류 인식방법에 있어서, 상기 병렬 프로그램의 실행경로를 단어의 형태를 구성하여 상기 단어를 포함하는 정규언어와 유한 오토매타를 구성하는 제1과정 및 임의의 병렬 프로그램 실행으로부터 형성된 새로운 실행경로에 대하여 상기 제1과정에서 구성된 오토매타의 실행상태에 따라 주어진 단어 실행경로가 기대 실행경로와 일치하는지를 판단하여 실행과정에서 발생하는 오류를 인식하는 제2과정으로 이루어지는 데에 있으므로, 상술한 바와 같은 본 발명은 병렬 프로그램의 단일 실행경로 구축에 따른 추가적인 오버랜드가 전혀 없다는 데 그 효과가 있다.

Description

병렬 프로그램의 실행오류 인식방법
본 내용은 요부공개 건이므로 전문내용을 수록하지 않았음
제1도는 본 발명이 적용되는 고속 병렬 컴퓨터의 하드웨어 구성과 함께 고속 병렬 컴퓨터, 병렬 프로그램 및 오류 인식기 사이의 인터페이스를 도시한 도면.
제2도는 패턴의 생성 및 오토메타의 구성 과정도.

Claims (14)

  1. 분산 및 공유 메모리 환경을 지원하는 고속 병렬 컴퓨터 상에서 실행되는 병렬 프로그램에 대하여 실행과정에서 발생하는 오류를 인식하는 병렬 프로그램의 실행오류 인식방법에 있어서, 상기 병렬 프로그램의 실행경로를 단어의 형태로 구성하여 상기 단어를 포함하는 정규언어와 유한 오토매타를 구성하는 제1과정; 및 임의의 병렬 프로그램 실행으로부터 형성된 새로운 실행경로에 대하여 상기 제1과정에서 구성된 오토매타의 실행상태에 따라 주어진 단어 실행경로가 기대 실행경로와 일치하는지를 판단하여 실행과정에서 발생하는 오류를 인식하는 제2과정으로 이루어지는 것을 특징으로 하는 병렬 프로그램의 실행오류 인식방법.
  2. 제1항에 있어서, 상기 제1과정이, 인스트루멘터를 이용하여 상기 병렬 프로그램 각각의 액션에 대한 사건을 정의하는 제1단계; 사건포획을 위하여 사건포획 루틴을 포함하는 병렬 프로그램 실행코드를 생성하는 제2단계; 상기 제2단계에서 생성된 상기 병렬 프로그램 실행코드를 상기 고속 병렬 컴퓨터 상에서 실행시키는 제3단계; 상기 병렬 프로그램 실행코드가 상기 고속 병렬 컴퓨터 상에서 실행되는 동안, 실행경로에 대한 정보를 토대로 하여 순서화된 프로그램 실행 기록파일과 상기 프로그램 실행 기록파일에 대한 상기 단어를 생성하는 제4단계; 및 상기 병렬 프로그램에 대한 데이터/자료 흐름 분석정보와 상기 단어의 특성에 따라 상기 오토매타를 구성하는 제5단계로 이루어지는 것을 특징으로 하는 병렬 프로그램의 실행 오류 인식방법.
  3. 제2항에 있어서, 상기 제2단계가, 사건포획을 위하여 라이브러리 형태로 제공되는 상기 사건포획 루틴을 상기 병렬 프로그램의 소스코드에 삽입하는 제1스텝; 상기 병렬 프로그램의 상기 소스코드에 대하여 컴파일을 수행하여 병렬 프로그램 목적코드를 생성하는 제2스텝; 및 상기 병렬 프로그램의 상기 목적코드에 대하여 링크를 수행하여 상기 병렬 프로그램 실행코드를 생성하는 제3스텝으로 이루어지는 것을 특징으로 하는 병렬 프로그램의 실행오류 인식방법.
  4. 제2항에 있어서, 상기 제4단계가, 실행경로에 대한 정보를 상기 사건포획 루틴들로부터 추출하여 스레드 별로 상기 프로그램 실행 기록파일에 저장하는 제1스텝; 사건 순서화기가 각각의 상기 기록파일을 하나로 모아 사건들 사이의 순서화 작업을 수행하는 제2스텝; 및 단어 생성기가 상기 프로그램 실행 기록파일에 있는 모든 사건들을 그들 자신의 고유 알파벳으로 변환시켜 줌으로써 상기 프로그램 실행 기록파일에 대한 상기 단어를 생성하는 제3스텝으로 이루어지는 것을 특징으로 하는 병렬 프로그램의 실행오류 인식방법.
  5. 제4항에 있어서, 상기 제2스텝에서 프로그램의 순서화된 상기 실행 기록파일이 실생된 상기 병렬 프로그램의 실행경로에 대한 실제 기록이 되는 것을 특징으로 하는 병렬 프로그램의 실행오류 인식방법.
  6. 제2항에 있어서, 상기 제4단계에서 생성된 상기 단어들이 정규문법으로 표현이 가능하기 때문에 상기 오토매타가 유한 오토매타로서 구성되는 것을 특징으로 하는 병렬 프로그램의 실행오류 인식방법.
  7. 제1항에 있어서, 상기 제2과정이, 상기 오토매타가 동작시작과 함께 자신의 제1사건 어레이 값과 제1상태 어레이 값의 초기값을 설정하는 제1단계; 상기 병렬 프로그램이 실행되는 동안에 발생한 사건을 입력으로 받는 제2단계; 상기 제2단계에서 받은 입력들의 사건 형태에 따라 상기 오토매타가 자신의 상기 제1사건 어레이 값과 상기 제1상태 어레이 값을 수정하는 제3단계; 상기 병렬 프로그램이 실행 중인지 검사하는 제4단계; 상기 제4단계에서 상기 병렬 프로그램이 실행 중이라고 판단되면, 상기 제2단계로 진행하는 제5단계; 및 상기 제4단계에서 상기 병렬 프로그램의 실행이 종료되었다고 판단되면, 상기 오토매타가 수정된 자신의 상기 제1상태 어레이 값이 오토매타의 상태 집합의 허용 범위에 포함되는지의 여부에 따라 정상적인 사건인지 비정상적인 사건인지 판정하여 오류여부를 상기 오토매타에 제시하는 제6단계로 이루어지는 것을 특징으로 하는 병렬 프로그램의 실행오류 인식방법.
  8. 제7항에 있어서, 상기 제3단계가, 상기 제2단계에서 받은 입력들의 사건형태에 대하여 프로그램 내부 사건인지, 공유 메모리 읽기 사건인지, 공유 메모리 쓰기 사건인지, 메시지 송신 사건인지, 메시지 수신 사건인지 검사하는 제1스텝; 상기 제1스텝에서 사건형태가 프로그램 내부 사건이라고 판단되면, 상기 오토매타가 자신의 상기 제1사건 어레이 값과 상기 제1상태 어레이 값을 수정하는 제2스텝; 상기 제1스텝에서 공유 메모리 읽기 사건이라고 판단되면, 공유객체의 제2사건 어레이 값과 제2상태 어레이 값을 자신의 상기 제1사건 어레이 값과 상기 제1상태 어레이 값을 비교하여 큰 값을 선택하여 이를 자신의 상기 제1사건 어레이와 상기 제1상태 어레이에 저장하는 제3스텝; 상기 제1스텝에서 공유 메모리 쓰기 사건이라고 판단되면, 상기 오토매타가 자신의 상기 제1사건 어레이 값과 상기 제1상태 어레이 값을 수정하여 기록하는 제4스텝; 상기 제1스텝에서 메시지 수신 사건이라고 판단되면, 메시지에 딸린 제3사건 어레이 값과 제3상태 어레이 값을 자신의 상기 제1사건 어레이 값과 상기 제1상태 어레이 값을 비교하여 큰 값을 선택하여 이를 자신의 상기 제1사건 어레이와 상기 제1상태 어레이에 저장하는 제5스텝; 및 상기 제1스텝에서 메시지 송신 사건이라 판단되면, 상기 오토매타가 자신의 상기 제1사건 어레이 값과 상기 제1상태 어레이 값을 수정하여 메시지로써 함께 송신하는 제6스텝으로 이루어지는 것을 특징으로 하는 병렬 프로그램의 실행오류 인식방법.
  9. 제8항에 있어서, 상기 제2스텝이, 상기 오토매타가 자신의 상기 제1사건 어레이 값을 수정하는 제1섭스텝; 및 상기 오토매타가 자신의 상기 제1상태 어레이 값을 수정하는 제2섭스텝으로 이루어지는 것을 특징으로 하는 병렬 프로그램의 실행오류 인식방법.
  10. 제8항에 있어서, 상기 제3스텝이, 읽고자 하는 상기 공유객체의 상기 제2사건 어레이 값과 상기 제2상태 어레이 값을 읽는 제1섭스텝; 자신이 가지고 있는 상기 제1사건 어레이 값을 상기 공유객체의 상기 제2사건 어레이 값을 비교하는 제2섭스텝; 상기 제2섭스텝에서 상기 공유객체의 상기 제2사건 어레이 값이 자신이 가지고 있는 상기 제1사건 어레이 값보다 크면, 자신의 상기 제1사건 어레이 값을 상기 공유객체의 상기 제2사건 어레이 값으로 수정하는 제3섭스텝; 자신이 가지고 있는 상기 제1상태 어레이 값과 상기 공유객체의 상기 제2상태 어레이 값을 비교하는 제4섭스텝; 및 상기 제4섭스텝에서 상기 공유객체의 상기 제2상태 어레이가 자신이 가지고 있는 상기 제1상태 어레이 값보다 크면, 자신의 상기 제1상태 어레이 값을 상기 공유객체의 상기 제2상태 어레이 값으로 수정하는 제5섭스텝으로 이루어지는 것을 특징으로 하는 병렬 프로그램의 실행오류 인식방법.
  11. 제8항에 있어서, 상기 제4스텝이, 상기 오토메타가 자신의 상기 제1사건 어레이 값을 수정하는 제1섭스텝; 상기 오토매타가 자신의 상기 제1상태 어레이 값을 수정하는 제2섭스텝; 및 쓰기에 해당하는 공유 객체의 선택에 자신의 상기 제1사건 어레이 값과 자신의 상기 제1상태 어레이 값을 기록하는 제3섭스텝으로 이루어지는 것을 특징으로 하는 병렬 프로그램의 실행오류 인식방법.
  12. 제8항에 있어서, 상기 제5스텝이, 읽고자 하는 상기 메시지에 딸린 상기 제3사건 어레이 값과 상기 제3상태 어레이 값을 읽는 제1섭스텝; 자신이 가지고 있는 상기 제1사건 어레이 값과 상기 메시지에 딸린 상기 제3사건 어레이 값을 비교하는 제2스텝; 상기 제2섭스텝; 상기 제2섭스텝에서 상기 메시지에 딸린 상기 제3사건 어레이 값이 자신이 가지고 있는 상기 제1사건 어레이 값보다 크면, 자신의 상기 제1사건 어레이 값을 상기 메시지에 딸린 상기 제3사건 어레이 값으로 수정하는 제3섭스텝; 자신이 가지고 있는 상기 제1상태 어레이 값과 상기 메시지에 딸린 상기 제3상태 어레이 값을 비교하는 제4섭스텝; 및 상기 제4섭스텝에서 상기 메시지에 딸린 상기 제3상태 어레이가 자신이 가지고 있는 상기 제1상태 어레이 값보다 크면, 자신의 상기 제1상태 어레이 값을 상기 메시지에 딸린 상기 제3상태 어레이 값으로 수정하는 제5섭스텝으로 이루어지는 것을 특징으로 하는 병렬 프로그램의 실행오류 인식방법.
  13. 제8항에 있어서, 상기 제6섭스텝이, 상기 오토메타가 자신의 상기 제1사건 어레이 값을 수정하는 제1섭스텝; 상기 오토메타가 자신의 상기 제1상태 어레이 값을 수정하는 제2섭스텝; 및 상기 제1섭스텝과 상기 제2섭스텝에서 수정된 상기 제1사건 어레이 값과 상기 제1상태 어레이 값을 메시지로서 함께 송신하는 제3섭스텝으로서 이루어지는 것을 특징으로 하는 병렬 프로그램의 실행오류 인식방법.
  14. 제7항에 있어서, 상기 제6단계가, 상기 오토메타가 수정된 자신의 상기 제1상태 어레이 값이 상기 오토메타의 상태집합의 허용범위가 포함되는지를 검사하는 제1스텝; 상기 제1스텝에서 상기 제1상태 어레이 값이 허용범위에 포함된다고 판단되면, 상기 오토메타가 상기 병렬 프로그램 사건을 정상적인 사건으로 판정하고 종료하는 제2스텝; 및 상기 제1스텝에서 상기 제1상태 어레이 값이 허용범위에 포함되지 않는다고 판단되면, 상기 오토메타가 상기 병렬 프로그램 사건을 비정상적인 사건으로 판정하고 프로그램 실행에 오류가 있음을 제시하면서 종료하는 제3스텝으로 이루어지는 것을 특징으로 하는 병렬 프로그램의 실행오류 인식방법.
    ※ 참고사항 : 최초출원 내용에 의하여 공개하는 것임.
KR1019960014315A 1996-05-02 1996-05-02 병렬 프로그램의 실행오류 인식방법 KR100205071B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019960014315A KR100205071B1 (ko) 1996-05-02 1996-05-02 병렬 프로그램의 실행오류 인식방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019960014315A KR100205071B1 (ko) 1996-05-02 1996-05-02 병렬 프로그램의 실행오류 인식방법

Publications (2)

Publication Number Publication Date
KR970076256A true KR970076256A (ko) 1997-12-12
KR100205071B1 KR100205071B1 (ko) 1999-06-15

Family

ID=19457600

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019960014315A KR100205071B1 (ko) 1996-05-02 1996-05-02 병렬 프로그램의 실행오류 인식방법

Country Status (1)

Country Link
KR (1) KR100205071B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102185294B1 (ko) * 2019-01-08 2020-12-01 국방과학연구소 병렬 프로그램의 소스 코드 분석 장치 및 방법, 기록매체

Also Published As

Publication number Publication date
KR100205071B1 (ko) 1999-06-15

Similar Documents

Publication Publication Date Title
US5682539A (en) Anticipated meaning natural language interface
US5732272A (en) Subroutine execution time tracer
CN111176996A (zh) 测试用例生成方法、装置、计算机设备及存储介质
US20060282267A1 (en) Static analysis to identify defects in grammars
JPS6375835A (ja) 目的コ−ド、プログラム・リスト及び設計文書を生成する装置
WO1997012508B1 (en) Transforming and manipulating program object code
US20050188323A1 (en) Template creation apparatus and creation method
CN107015841B (zh) 一种程序编译的预处理方法及程序编译设备
JP5303795B2 (ja) アプリケーションの解析方法、解析システム及び解析プログラム
US20190205239A1 (en) Code update based on detection of change in runtime code during debugging
CA2297414A1 (en) Method and system for distinguishing between text insertion and replacement
US6415436B1 (en) Mechanism for cross validating emulated states between different emulation technologies in a dynamic compiler
CN114911711A (zh) 一种代码缺陷分析方法、装置、电子设备及存储介质
KR102546424B1 (ko) 학습용 데이터 생성 장치, 소스 코드 오류 분석 장치 및 방법
Lasser et al. CoStar: a verified ALL (*) parser
CN111026604B (zh) 一种日志文件解析方法及装置
Kiss Generalizing the split factor of the minimizing delta debugging algorithm
KR20220036099A (ko) 자동통역 오류 유형을 자동으로 진단 및 교정하는 방법
KR970076256A (ko) 병렬 프로그램의 실행오류 인식방법
EP0821306A2 (en) High-speed simulation method
CN116028626A (zh) 文本匹配方法、装置、存储介质以及电子设备
CN111796832B (zh) 热补丁文件生成方法、装置、设备及存储介质
KR102122968B1 (ko) 애플리케이션 설치 정보 분석 시스템 및 방법
KR101534493B1 (ko) 구조 변환에 기초한 소스코드 보안 약점 탐지 장치 및 방법
CN109426546A (zh) 应用启动方法及装置、计算机存储介质及设备

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: 20080307

Year of fee payment: 10

LAPS Lapse due to unpaid annual fee