목차
MSR(Mining Software Repositories)의 정의 3
MSR의 접근방법 3
소스코드로부터 규칙을 분석하는 방법 3
1.1 Bugs as Deviant Behavior 4
1.1.1 Cross-Checking Program Beliefs 5
1.1.2 Deriving Rule(\\"A must be followed by B\\") 6
1.1.3 Limitations of Bugs as Deviant Behavior 6
1.2 Mining Programming Rules with PR-Miner 7
1.2.1 Analysis Example 7
1.2.2 Extracting Rules 9
1.2.3 Parsing Source Code 10
1.2.4 Mining Programming Patterns 13
1.2.5 Generating Programming Rules 13
1.2.6 Rule Explosion Problem 14
1.2.7 Detecting Violations 14
1.2.8 Pruning False Violations 15
1.2.9 Some Result of Bug Detection 16
1.3 Mining Fun. Precedence Protocols 17
1.3.1 Mining Fun. Precedence Protocols란? 17
1.3.2 Mining Specifications Statically 18
1.3.2.1 Path Sensitivity 18
1.3.2.2 Inter-procedural Analysis 19
1.4 Revealing Neglected Conditions 20
1.4.1 Limitation of Precedence-Related Bug Detection 20
1.4.2 Neglected Conditions 20
1.4.3 Approach to Detecting Neglected Conditions 21
1.4.4 Dependence Graph Representation 21
1.4.5 Frequent Subgraph Mining 23
1.4.6 SDG(System Dependence Graph) Minors 24
1.4.7 Rule Mining Issues 26
1.4.8 Transforming the Graph Set 26
1.4.10 User Evaluation of Rules 27
1.4.11 Detecting Rule Violations 27
1.4.12 Some Results of Neglected-Condition Bug Detection 28
참고문헌 29
MSR의 접근방법 3
소스코드로부터 규칙을 분석하는 방법 3
1.1 Bugs as Deviant Behavior 4
1.1.1 Cross-Checking Program Beliefs 5
1.1.2 Deriving Rule(\\"A must be followed by B\\") 6
1.1.3 Limitations of Bugs as Deviant Behavior 6
1.2 Mining Programming Rules with PR-Miner 7
1.2.1 Analysis Example 7
1.2.2 Extracting Rules 9
1.2.3 Parsing Source Code 10
1.2.4 Mining Programming Patterns 13
1.2.5 Generating Programming Rules 13
1.2.6 Rule Explosion Problem 14
1.2.7 Detecting Violations 14
1.2.8 Pruning False Violations 15
1.2.9 Some Result of Bug Detection 16
1.3 Mining Fun. Precedence Protocols 17
1.3.1 Mining Fun. Precedence Protocols란? 17
1.3.2 Mining Specifications Statically 18
1.3.2.1 Path Sensitivity 18
1.3.2.2 Inter-procedural Analysis 19
1.4 Revealing Neglected Conditions 20
1.4.1 Limitation of Precedence-Related Bug Detection 20
1.4.2 Neglected Conditions 20
1.4.3 Approach to Detecting Neglected Conditions 21
1.4.4 Dependence Graph Representation 21
1.4.5 Frequent Subgraph Mining 23
1.4.6 SDG(System Dependence Graph) Minors 24
1.4.7 Rule Mining Issues 26
1.4.8 Transforming the Graph Set 26
1.4.10 User Evaluation of Rules 27
1.4.11 Detecting Rule Violations 27
1.4.12 Some Results of Neglected-Condition Bug Detection 28
참고문헌 29
본문내용
MSR(Mining Software Repositories)의 정의
소스코드/변경이력 자료를 분석하여 룰과 패턴을 검색하고 이에 대한 위반사항을 검출함으로써 Software의 신뢰성을 높이는 활동을 말한다.
MSR의 접근방법
MSR의 접근방법에는 3가지가 있는데 첫째, 소스코드로부터 규칙을 분석(Mining)하는 것, 둘째, 변경이력으로부터 규칙을 분석(Mining)하는 것, 셋째, 소스코드로부터 복사-붙이기 패턴을 분석(Mining)하는 것 등으로 구성된다.
소스코드로부터 규칙을 분석하는 방법
본 문서에서는 3가지 접근방법 중에서 첫번째 방법인 소스코드로부터 규칙을 분석(Mining)하는 것을 설명하고자 하며, 상세 설명대상 분석방법은 아래와 같다.
1) S/W 비정상 작동에 의한 오류검출(Bugs as deviant behavior)
- 제안 : Engler et al., SOSP '01
- 방법 : Statistical analysis
- 문제점 : Fixed Rule Templates, Program에 대한 사전지식 필요, 분석대상이 한쌍(Pair)으로 존재
2) PR-Miner을 이용한 프로그램 Rule Mining(Mining Programming Rules with PR-Miner)
- 제안 : Li et al., FSE '05
- 방법 : Frequent Itemset Mining
- 문제점 : 코드내부의 procedure를 고려하지 않음, 실행Path에 대해 둔감함
3) 함수 우선순위 Rule Mining(Mining Function Precedence Protocols)
- 제안 : Ramanathan et al., ICSE '07
- 방법 : Frequent Subsequence Mining
- 문제점 : Data흐름 or 종속관계를 고려하지 않음
4) 무시된 조건 검출(Revealing Neglected Conditions)
- 제안 : Chang et al., ISSTA'07
- 방법 : Frequent Itemset mining + Frequent Subgraph Mining
소스코드/변경이력 자료를 분석하여 룰과 패턴을 검색하고 이에 대한 위반사항을 검출함으로써 Software의 신뢰성을 높이는 활동을 말한다.
MSR의 접근방법
MSR의 접근방법에는 3가지가 있는데 첫째, 소스코드로부터 규칙을 분석(Mining)하는 것, 둘째, 변경이력으로부터 규칙을 분석(Mining)하는 것, 셋째, 소스코드로부터 복사-붙이기 패턴을 분석(Mining)하는 것 등으로 구성된다.
소스코드로부터 규칙을 분석하는 방법
본 문서에서는 3가지 접근방법 중에서 첫번째 방법인 소스코드로부터 규칙을 분석(Mining)하는 것을 설명하고자 하며, 상세 설명대상 분석방법은 아래와 같다.
1) S/W 비정상 작동에 의한 오류검출(Bugs as deviant behavior)
- 제안 : Engler et al., SOSP '01
- 방법 : Statistical analysis
- 문제점 : Fixed Rule Templates, Program에 대한 사전지식 필요, 분석대상이 한쌍(Pair)으로 존재
2) PR-Miner을 이용한 프로그램 Rule Mining(Mining Programming Rules with PR-Miner)
- 제안 : Li et al., FSE '05
- 방법 : Frequent Itemset Mining
- 문제점 : 코드내부의 procedure를 고려하지 않음, 실행Path에 대해 둔감함
3) 함수 우선순위 Rule Mining(Mining Function Precedence Protocols)
- 제안 : Ramanathan et al., ICSE '07
- 방법 : Frequent Subsequence Mining
- 문제점 : Data흐름 or 종속관계를 고려하지 않음
4) 무시된 조건 검출(Revealing Neglected Conditions)
- 제안 : Chang et al., ISSTA'07
- 방법 : Frequent Itemset mining + Frequent Subgraph Mining
키워드
추천자료
인간공학에 대하여
재활공학의 정의, 개념, 출현배경, 발달사, 재활분야, 현실, 개선방안, 향후 중요성과 역할
지반공학과 터널공법에 관하여
재활공학에 대한 모든 것
-정보공학적 개발방법론-
[직업][직업분석][직종][유망직업]직업 분석(전기공학기술자, 전자 및 통신공학기술자, 프로...
컴퓨터공학부 학과소개, 자기소개서
재활공학
인간공학의 역사
의공학(물성)
기계공학개론
기계공학 실험 - 인장시험(tension test)
교육공학 교재 1장부터 4장까지(교재 3쪽 ~ 96쪽) 각각의 장에서 자신에게 가장 흥미로웠던 ...
가치공학(VE)의 이해 및 건설 혁신사례 보고서
소개글