KR101290847B1 - 기 개발된 시스템의 소스코드를 기반으로 휘처모델을 생성하는 방법과 그 장치 - Google Patents
기 개발된 시스템의 소스코드를 기반으로 휘처모델을 생성하는 방법과 그 장치 Download PDFInfo
- Publication number
- KR101290847B1 KR101290847B1 KR1020110117645A KR20110117645A KR101290847B1 KR 101290847 B1 KR101290847 B1 KR 101290847B1 KR 1020110117645 A KR1020110117645 A KR 1020110117645A KR 20110117645 A KR20110117645 A KR 20110117645A KR 101290847 B1 KR101290847 B1 KR 101290847B1
- Authority
- KR
- South Korea
- Prior art keywords
- features
- nodes
- graph
- relationship
- node
- Prior art date
- Legal status (The legal status 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 status listed.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims abstract description 38
- 238000007781 pre-processing Methods 0.000 claims abstract description 58
- 230000014509 gene expression Effects 0.000 claims abstract description 17
- 238000012545 processing Methods 0.000 claims abstract description 7
- 230000007717 exclusion Effects 0.000 claims description 21
- 230000002776 aggregation Effects 0.000 claims description 14
- 238000004220 aggregation Methods 0.000 claims description 14
- 239000000470 constituent Substances 0.000 claims description 12
- 238000000605 extraction Methods 0.000 claims description 11
- 238000009833 condensation Methods 0.000 claims description 10
- 230000005494 condensation Effects 0.000 claims description 10
- 238000004364 calculation method Methods 0.000 claims description 9
- 239000000284 extract Substances 0.000 claims description 8
- 230000010354 integration Effects 0.000 claims description 8
- 238000010586 diagram Methods 0.000 description 16
- 238000013459 approach Methods 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 239000000203 mixture Substances 0.000 description 2
- 230000008901 benefit Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 210000004185 liver Anatomy 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/20—Software design
-
- 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
-
- 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/36—Software reuse
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Description
도 2는 전처리 지시자가 기술된 소스코드의 일 예를 보여주는 개념도이다.
도 3은 본 발명의 일 실시예에 따른 소스코드의 전처리 지시자에 기초하여 생성된 추상구문트리를 보여주는 트리 구조도이다.
도 4는 본 발명의 일 실시예에 따른 추상구문트리로부터 추출된 구성 지식을 보여주는 트리 구조도이다.
도 5는 본 발명의 일 실시예에 따른 휘처간의 함축관계를 나타내는 함축 그래프를 보여주는 트리 구조도이다.
도 6은 본 발명의 일 실시예에 따른 변 가중치가 부여된 함축 그래프를 보여주는 트리 구조도이다.
도 7은 본 발명의 일 실시예에 따른 함축그래프에 최소비용신장 트리 알고리즘을 적용한 휘처모델을 보여주는 트리 구조도이다.
도 8은 본 발명의 일 실시예에 따른 택일적 휘처를 갖는 휘처모델을 보여주는 트리 구조도이다.
도 9는 본 발명의 일 실시예에 따른 휘처모델 생성방법을 수행하기 위한 과정을 보여주는 흐름도이다.
Claims (20)
- 특정 소스코드에 포함된 전처리 지시자들의 처리순서를 기초로 추상 구문 트리를 생성하는 추상 구문 트리 생성부;
상기 추상 구문 트리 내의 노드들 중 명령어와 관련된 노드를 휘처로 판별하여, 상기 판별된 휘처들 간의 관계를 표현한 표현식을 포함하는 구성 지식을 추출하는 구성 지식 추출부;
상기 구성 지식 추출부에서 추출된 구성 지식을 취합하여, 상기 취합된 구성 지식들에 포함된 휘처간의 관계를 표현한 그래프를 생성하는 그래프 생성부; 및
상기 그래프 생성부에서 생성된 그래프에 최소비용신장 트리 알고리즘을 적용하여 상기 그래프에서 루트 노드를 제외한 모든 노드가 선택적 휘처인 최소비용신장 트리를 생성하는 휘처모델 생성부를 포함하는 휘처모델 생성장치. - 제 1항에 있어서,
상기 추상 구문 트리 생성부에서 생성하는 추상 구문 트리는
상기 각 전처리 지시자와 관련된 추상 구문을 표현한 노드의 집합과, 상기 노드의 집합에 포함된 노드들 중 두 노드 간의 포함 관계를 표현한 포함 관계의 집합으로 구성되는 것을 특징으로 하는 휘처모델 생성장치. - 제 2항에 있어서,
상기 추상 구문 트리 생성부는,
상기 전처리 지시자 중 특정 전처리 지시자가 조건형 전처리 지시자이면, 상기 특정 전처리 지시자에 대응하는 노드와 상기 노드의 하위 노드와의 포함관계는 조건의 만족 여부로 표현하여 상기 추상 구문 트리를 생성하는 것을 특징으로 하는 휘처모델 생성장치. - 제 1항에 있어서,
상기 구성 지식 추출부는 상기 추상 구문 트리 내의 노드들 중 매크로를 지시하는 노드를 휘처로 판별하여 상기 판별된 휘처들간의 함축 또는 배제관계를 표현한 표현식을 포함하는 구성 지식을 추출하는 것을 특징으로 하는 휘처모델 생성장치. - 제 1항 또는 제 4항에 있어서,
상기 그래프 생성부는
상기 구성 지식 추출부에서 추출된 구성 지식을 취합하여, 상기 취합된 각 구성 지식에 포함된 휘처간의 관계가 함축관계인 구성 지식을 추출하고, 상기 추출된 구성 지식들에 포함된 각 휘처를 노드로 표현하고 상기 휘처들 간 함축 관계를 방향성을 갖는 변으로 표현하는 함축 그래프를 생성하는 함축 그래프 생성부;
상기 함축 그래프 생성부에서 생성된 함축 그래프 내에서 양 방향성을 갖는 두 노드를 식별하고 상기 식별된 두 노드를 하나의 노드로 통합함으로써 상기 함축 그래프를 변경하는 응집군 통합부; 및
참조 휘처모델을 참조하여, 상기 응집군 통합부에서 변경된 함축 그래프의 각 변에 대하여, 상기 각 변을 연결하는 두 노드에 각각 대응하는 두 휘처의 거리를 판별하고 상기 판별된 거리를 상기 변의 가중치로 부여하는 변 가중치 계산부를 포함하는 특징으로 하는 휘처모델 생성장치. - 제 5항에 있어서,
상기 변 가중치 계산부는 상기 응집군 통합부에서 변경된 함축 그래프 내의 변들 중에서 가중치를 갖지 않는 변과 상기 변에 연결된 두 노드에 각각 대응하는 두 휘처를 식별하고,
참조 휘처모델을 참조하여, 상기 식별된 두 휘처 간의 거리를 상기 가중치를 갖지 않는 변에 대한 정량화된 가중치로 부여하되,
상기 식별된 두 휘처간의 관계가 조상-자손의 관계라면 두 휘처 간의 깊이 차를 상기 식별된 변에 대한 가중치로 부여하는 것을 특징으로 하는 휘처모델 생성장치. - 제 6항에 있어서,
상기 변 가중치 계산부는 상기 식별된 두 휘처간의 관계가 조상-자손의 관계가 아니라면 무한값 또는 0을 상기 변에 대한 가중치로 부여하는 것을 특징으로 하는 휘처모델 생성장치. - 제 1항에 있어서,
상기 휘처모델 생성부는
상기 그래프 생성부에서 생성된 그래프에 최소비용신장 트리 알고리즘을 적용하여 상기 최소비용신장 트리에서 최상위 노드를 제외한 모든 노드를 선택적 휘처로 표현하고, 조상 노드와 자손 노드의 관계는 포함관계로 표현하고,
상기 최소비용신장 트리에서 제거된 상기 그래프 내의 변에 대하여, 상기 제거된 그래프 내의 변에 연결된 두 노드에 대응되는 두 피처 간의 관계를 필요관계로 정의하여 휘처모델의 조합규칙에 추가하는 것을 생성하는 것을 특징으로 하는 휘처모델 생성장치. - 제 8항에 있어서,
상기 휘처모델 생성부는
상기 구성 지식 추출부에서 생성한 구성 지식 중 두 휘처간의 관계가 배제 관계인 구성 지식을 추출하고,
상기 추출된 구성 지식 내의 배제관계를 갖는 두 휘처에 각각 대응되는 두 휘처를 상기 최소비용신장 트리 내에서 식별하고,
상기 최소비용신장 트리 내에서 식별된 두 휘처에 각각 대응되는 두 노드외에 다른 형제 노드가 존재하지 않는 경우 상기 두 휘처를 택일적 휘처로 설정하는 것을 특징으로 하는 휘처모델 생성장치. - 제 9항에 있어서,
상기 휘처모델 생성부는
상기 최소비용신장 트리 내에서 식별된 두 휘처에 대응되는 두 노드 외의 다른 형제 노드가 존재하는 경우 상기 두 휘처간의 배제 관계를 상기 조합규칙에 추가하는 것을 특징으로 하는 휘처모델 생성장치. - 특정 소스코드에 포함된 전처리 지시자들의 처리순서를 기초로 추상 구문 트리를 생성하는 추상 구문 트리 생성단계;
상기 추상 구문 트리 내의 노드들 중 명령어와 관련된 노드를 휘처로 판별하여, 상기 판별된 휘처들 간의 관계를 표현한 표현식을 포함하는 구성 지식을 추출하는 구성 지식 추출단계;
상기 추출된 구성 지식을 취합하여, 상기 취합된 구성 지식들에 포함된 휘처간의 관계를 표현한 그래프를 생성하는 그래프 생성단계; 및
상기 생성된 그래프에 최소비용신장 트리 알고리즘을 적용하여 상기 그래프에서 루트 노드를 제외한 모든 노드가 선택적 휘처인 최소비용신장 트리를 생성하는 휘처모델 생성단계를 포함하는 휘처모델 생성방법. - 제 11항에 있어서,
상기 추상 구문 트리 생성단계에서 생성하는 추상 구문 트리는
상기 각 전처리 지시자와 관련된 추상 구문을 표현한 노드의 집합과, 상기 노드의 집합에 포함된 노드들 중 두 노드 간의 포함 관계를 표현한 포함 관계의 집합으로 구성되는 것을 특징으로 하는 휘처모델 생성방법. - 제 12항에 있어서,
상기 추상 구문 트리 생성단계는,
상기 전처리 지시자 중 특정 전처리 지시자가 조건형 전처리 지시자이면, 상기 특정 전처리 지시자에 대응하는 노드와 상기 노드의 하위 노드와의 포함관계는 조건의 만족 여부로 표현하여 상기 추상 구문 트리를 생성하는 것을 특징으로 하는 휘처모델 생성방법. - 제 11항에 있어서,
상기 구성 지식 추출단계는 상기 추상 구문 트리 내의 노드들 중 매크로를 지시하는 노드를 휘처로 판별하여 상기 판별된 휘처들간의 함축 또는 배제관계를 표현한 표현식을 포함하는 구성 지식을 추출하는 것을 특징으로 하는 휘처모델 생성방법. - 제 11항 또는 제 14항에 있어서,
상기 그래프 생성단계는
상기 구성 지식 추출단계에서 추출된 구성 지식을 취합하여, 상기 취합된 각 구성 지식에 포함된 휘처간의 관계가 함축관계인 구성 지식을 추출하고, 상기 추출된 구성 지식들에 포함된 각 휘처를 노드로 표현하고 상기 휘처들 간 함축 관계를 방향성을 갖는 변으로 표현하는 함축 그래프를 생성하는 함축 그래프 생성단계;
상기 함축 그래프 생성단계에서 생성된 함축 그래프 내에서 양 방향성을 갖는 두 노드를 식별하고 상기 식별된 두 노드를 하나의 노드로 통합함으로써 상기 함축 그래프를 변경하는 응집군 통합단계; 및
참조 휘처모델을 참조하여, 상기 응집군 통합단계에서 변경된 함축 그래프의 각 변에 대하여, 상기 각 변을 연결하는 두 노드에 각각 대응하는 두 휘처의 거리를 판별하고 상기 판별된 거리를 상기 변의 가중치로 부여하는 변 가중치 계산단계를 포함하는 특징으로 하는 휘처모델 생성방법. - 제 15항에 있어서,
상기 변 가중치 계산단계는 상기 응집군 통합부에서 변경된 함축 그래프 내의 변들 중에서 가중치를 갖지 않는 변과 상기 변에 연결된 두 노드에 각각 대응하는 두 휘처를 식별하고,
참조 휘처모델을 참조하여, 상기 식별된 두 휘처 간의 거리를 상기 가중치를 갖지 않는 변에 대한 정량화된 가중치로 부여하되,
상기 식별된 두 휘처간의 관계가 조상-자손의 관계라면 두 휘처 간의 깊이 차를 상기 식별된 변에 대한 가중치로 부여하는 것을 특징으로 하는 휘처모델 생성방법. - 제 16항에 있어서,
상기 변 가중치 계산단계는 상기 식별된 두 휘처간의 관계가 조상-자손의 관계가 아니라면 무한값 또는 0을 상기 변에 대한 가중치로 부여하는 것을 특징으로 하는 휘처모델 생성방법. - 제 11항에 있어서,
상기 휘처모델 생성단계는
상기 그래프 생성단계에서 생성된 그래프에 최소비용신장 트리 알고리즘을 적용하여 상기 최소비용신장 트리에서 최상위 노드를 제외한 모든 노드를 선택적 휘처로 표현하고, 조상 노드와 자손 노드의 관계는 포함관계로 표현하고,
상기 최소비용신장 트리에서 제거된 상기 그래프 내의 변에 대하여, 상기 제거된 그래프 내의 변에 연결된 두 노드에 대응되는 두 피처 간의 관계를 필요관계로 정의하여 휘처모델의 조합규칙에 추가하는 것을 생성하는 것을 특징으로 하는 휘처모델 생성방법. - 제 18항에 있어서,
상기 휘처모델 생성단계는
상기 구성 지식 추출단계에서 생성한 구성 지식 중 두 휘처간의 관계가 배제 관계인 구성 지식을 추출하고,
상기 추출된 구성 지식 내의 배제관계를 갖는 두 휘처에 각각 대응되는 두 휘처를 상기 최소비용신장 트리 내에서 식별하고,
상기 최소비용신장 트리 내에서 식별된 두 휘처에 각각 대응되는 두 노드외의 다른 형제 노드가 존재하지 않는 경우 상기 두 휘처를 택일적 휘처로 설정하는 것을 특징으로 하는 휘처모델 생성방법. - 제 19항에 있어서,
상기 휘처모델 생성단계는
상기 최소비용신장 트리 내에서 식별된 두 휘처에 대응되는 두 노드외의 다른 형제 노드가 존재하는 경우 상기 두 휘처간의 배제 관계를 상기 조합규칙에 추가하는 것을 특징으로 하는 휘처모델 생성방법.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020110117645A KR101290847B1 (ko) | 2011-11-11 | 2011-11-11 | 기 개발된 시스템의 소스코드를 기반으로 휘처모델을 생성하는 방법과 그 장치 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020110117645A KR101290847B1 (ko) | 2011-11-11 | 2011-11-11 | 기 개발된 시스템의 소스코드를 기반으로 휘처모델을 생성하는 방법과 그 장치 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20130052283A KR20130052283A (ko) | 2013-05-22 |
KR101290847B1 true KR101290847B1 (ko) | 2013-07-29 |
Family
ID=48661945
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020110117645A Expired - Fee Related KR101290847B1 (ko) | 2011-11-11 | 2011-11-11 | 기 개발된 시스템의 소스코드를 기반으로 휘처모델을 생성하는 방법과 그 장치 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101290847B1 (ko) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101667262B1 (ko) * | 2014-08-18 | 2016-10-19 | 슈어소프트테크주식회사 | 코드 커버리지 측정 방법 및 이를 실행하기 위한 프로그램을 기록한 컴퓨터로 판독가능한 기록매체 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100744886B1 (ko) | 2005-06-28 | 2007-08-01 | 학교법인 포항공과대학교 | 아사달 : 휘처 기반 소프트웨어 제품라인 개발 환경을제공하는 시스템 |
KR20110074156A (ko) * | 2009-12-24 | 2011-06-30 | 주식회사 포스코 | 소프트웨어 자산구축 방법 및 기록매체 |
KR20110113276A (ko) * | 2010-04-09 | 2011-10-17 | 포항공과대학교 산학협력단 | 소프트웨어 시스템의 자율 관리 제공 방법, 이를 수행하는 프로그램을 기록한 기록매체 및 소프트웨어의 자율 관리 기능을 구비한 시스템 |
-
2011
- 2011-11-11 KR KR1020110117645A patent/KR101290847B1/ko not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100744886B1 (ko) | 2005-06-28 | 2007-08-01 | 학교법인 포항공과대학교 | 아사달 : 휘처 기반 소프트웨어 제품라인 개발 환경을제공하는 시스템 |
KR20110074156A (ko) * | 2009-12-24 | 2011-06-30 | 주식회사 포스코 | 소프트웨어 자산구축 방법 및 기록매체 |
KR20110113276A (ko) * | 2010-04-09 | 2011-10-17 | 포항공과대학교 산학협력단 | 소프트웨어 시스템의 자율 관리 제공 방법, 이를 수행하는 프로그램을 기록한 기록매체 및 소프트웨어의 자율 관리 기능을 구비한 시스템 |
Also Published As
Publication number | Publication date |
---|---|
KR20130052283A (ko) | 2013-05-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20180336018A1 (en) | Method and system for template extraction based on source code similarity | |
US11079749B2 (en) | Method and apparatus for automated hazard detection | |
WO2023093689A1 (zh) | 一种计算图优化方法、装置及设备 | |
JP6937659B2 (ja) | ソフトウェアテスト装置および方法 | |
US9880834B2 (en) | Source program analysis system, source program analysis method, and recording medium on which program is recorded | |
CN105808438B (zh) | 一种基于函数调用路径的测试用例复用方法 | |
Le et al. | Validating consistency between a feature model and its implementation | |
CN108228187A (zh) | 一种数值程序的全局优化方法 | |
US9996606B2 (en) | Method for determining condition of category division of key performance indicator, and computer and computer program therefor | |
CN104267936A (zh) | 基于树语义的异步动态下推网络可达性分析方法 | |
KR101290847B1 (ko) | 기 개발된 시스템의 소스코드를 기반으로 휘처모델을 생성하는 방법과 그 장치 | |
KR102114547B1 (ko) | 대상 프로그램에 포함된 대상 함수를 테스트하는 방법 및 장치 | |
Gull et al. | A block-chain oriented model driven framework for handling inconsistent requirements in global software development | |
KR102557800B1 (ko) | 차분 프라이버시 기반 의사결정 트리 생성 방법 및 장치 | |
CN116595538A (zh) | 代码漏洞检测方法、装置、电子设备及存储介质 | |
CN106528179B (zh) | 一种Java类依赖关系的静态识别方法 | |
JP5075695B2 (ja) | プロパティ記述のカバレッジ測定装置及びプログラム | |
Ali et al. | Cobrex: A tool for extracting business rules from cobol | |
JP7627167B2 (ja) | 設備id推論方法および設備id推論装置 | |
Bortolussi et al. | jSSTL-a tool to monitor spatio-temporal properties | |
Daszczuk et al. | Deadlock detection in distributed systems using the IMDS formalism and Petri nets | |
CN109710538B (zh) | 一种用于大规模系统中状态相关缺陷的静态检测方法 | |
CN108536606B (zh) | 一种基于复合依赖关系覆盖准则的efsm测试方法 | |
Järvi et al. | Expressing multi-way data-flow constraint systems as a commutative monoid makes many of their properties obvious | |
Ba-Brahem et al. | The proposal of improved inexact isomorphic graph algorithm to detect design patterns |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
PA0109 | Patent application |
Patent event code: PA01091R01D Comment text: Patent Application Patent event date: 20111111 |
|
PA0201 | Request for examination | ||
PG1501 | Laying open of application | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
PE0701 | Decision of registration |
Patent event code: PE07011S01D Comment text: Decision to Grant Registration Patent event date: 20130723 |
|
PR0701 | Registration of establishment |
Comment text: Registration of Establishment Patent event date: 20130723 Patent event code: PR07011E01D |
|
PR1002 | Payment of registration fee |
Payment date: 20130723 End annual number: 3 Start annual number: 1 |
|
PG1601 | Publication of registration | ||
LAPS | Lapse due to unpaid annual fee | ||
PC1903 | Unpaid annual fee |
Termination category: Default of registration fee Termination date: 20170609 |