통사적 방법
Syntactic methods소프트웨어 공학에서 구문적 방법은 올바른 소프트웨어 프로그램을 개발하기 위한 기술입니다.이 기술은 의미론적 수준이 아닌 구문적 수준에서 생성되는 코드의 구조를 조사하여 특정 유형의 결함(버그)을 탐지하고 방지하려고 시도합니다.
사용.
통사적 방법은 형식적 방법이 선택사항이 아닐 때 종종 사용되며, 종종 더 간단하고, 더 중요하게는 더 저렴한 대안입니다.미션 크리티컬하지 않은 시스템에서는 공식적인 방법이 제공하는 이점에 비해 너무 비싸다는 것이 입증될 수 있습니다.모델링, 인력, 실행 및 개발 비용은 종종 발생할 수 있는 실패를 방지함으로써 얻을 수 있는 이점을 초과할 수 있습니다.이 접근 방식은 해당 시스템에서 생성된 추상 종속성 그래프의 사용을 중심으로 진행됩니다.추상 종속성 그래프는 단방향 모서리로 연결된 정점의 그래프인 방향 그래프입니다.그래프의 꼭짓점과 모서리는 대부분 또는 시스템 구성 요소의 함수 입력과 출력을 나타냅니다.생성된 추상 종속성 그래프를 검사하여 개발자는 시스템에서 구문 이상(또는 사전 이상)을 탐지할 수 있습니다.이상 징후가 항상 결점인 것은 아니지만 종종 시스템에서 결점을 찾을 수 있는 단서를 제공합니다.따라서 시스템의 이상 징후는 개발자가 결점을 찾는 올바른 방향을 찾는 데 도움이 됩니다.
이상 징후
이상 징후에는 크게 네 가지 유형이 있습니다.
- 중복성 – 그래프에서 청크를 제거한 경우 종단에 도달할 수 있으면 그래프의 청크가 중복됩니다.
- 충돌 – 동일한 입력이 서로 다른 출력을 의미할 수 있는 경우 시스템에 충돌이 포함됩니다.
- 원형 – 그래프의 루프는 시스템의 원형을 나타냅니다.
- 결점 – 입력의 하위 집합이 단자가 없는 경우 청크가 부족합니다.
이상 징후는 종종 결점을 가리키지만 시스템의 정상적인 기능을 쉽게 반영할 수 있습니다.이상 징후가 문제의 단서인지 아니면 단순히 잘못된 경보인지 판단하기 위해 이상 징후를 조사하는 것은 개발자의 몫입니다.
시스템의 시각적 방향 그래프를 만들면 위의 이상 징후를 나타내는 몇 가지 명백한 시각적 플래그가 있습니다.
- 입력이 없는 하위 그래프에는 중요한 내용이 누락되어 있을 수 있습니다.
- 시스템의 전이 폐쇄(노드에서 다운스트림되는 모든 노드)를 보는 동안, 자체 전이 폐쇄의 노드는 원형을 나타냅니다.
- 시스템의 과도적 폐쇄를 볼 때, 행 쌍 사이의 가정은 중복성을 나타냅니다.
- 갈등은 구문론적이라기보다는 의미론적으로 변하기 때문에 다소 더 어렵습니다.
형식적인 방법이 너무 비싸다는 것이 입증되면, 시스템은 구문만 확인할 수 있습니다.이것은 표면적인 수준의 시스템만 보기 때문에 철저하지 않습니다.그러나, 그것은 개발자에게 시스템의 결함이 어디에 있을 수 있는지에 대한 많은 단서를 제공합니다.
일반참고문헌
- "소프트웨어 아키텍처의 통사론"Dean, Thomas R., Cordy, James R. IEEE 소프트웨어 엔지니어링 거래 21(4), 페이지 302–313(1995)
- "통사적 유형 추상화" Grossman, D., Morrisett, G., Zdancewic, S. ACM 프로그래밍 언어 및 시스템에 관한 트랜잭션 22(6), 페이지 1037–1080.
- "구조화되지 않은 프로그램을 슬라이싱하기 위한 새로운 알고리즘"Harman, M., Danic, S. Journal of Software Maintenance and Evolution 10 (6), 페이지 415–441
- "구문 패턴 인식을 이용한 임베디드 소프트웨어의 역설계" Fournigault, M., Liardet, P.-Y, Teglia, Y트레모, A. 로버트 이나시오, F.컴퓨터 과학 강의 노트(인공지능 강의 노트 및 생물정보학 강의 노트 포함) 제4277권 LNCS - I, 2006, 527-536페이지. (2006)
외부 링크
- "프로젝트: 컴퓨터 과학의 대수적 및 통사적 방법 (ASMICS 2)" 파리 7대학, 연구실 인포라티케 테오리케 프로그래밍 (작업 그룹
- 파벨 슬라빅의 "컴퓨터 그래픽의 통사적 방법"