We propose a local search based approach to generate automatically test cases for programs having floating point statements. The proposed approach, called MLFP (for Multi-precision arithmetic and Local search for Floating Point constraints), adopts a local search approach to solve constraints on floating point numbers. Compared to the classical integer domain, floating point numbers F have two particular properties: they have a huge cardinality (e.g., 252 numbers in the interval [0.5, 1.0] with the "double" format), huge values (e.g. 10300), and also tiny values (e.g. 10-300). This huge combinatorial nature of the search space motivates using a local search approach. In order to find test cases containing huge or tiny numbers, such as overflow or underflow exception errors, MLFP uses the multiple precision MPFR library. Our local search approach proceeds in two steps. The first step exploits a line search algorithm to converge quickly to an approximate solution on real numbers. The second step adopts a dedicated local search algorithm on floating point numbers in order to find an exact solution, by using specific neighborhood and evaluation functions. We have implemented the MLFP approach, and we have shown its usefulness on various non trivial programs having floating point statements.
목차
Abstract 1. Introduction 2. Preliminaries 2.1. IEEE-754 Floating-Point Numbers Representation 2.2. Rounding Modes 2.3. Floating Point Exception Errors 2.4. Translating the Program Statements into a Constraint System 3. Test Case Generation as a Constraint Satisfaction Problem 3.1. The Final Constraint Satisfaction Problem 3.2. Illustration 4. MLFP Solving Approach 4.1. Approximate Solution by Line Search 4.2. A Dedicated Local Search Solving on Floating Point Numbers 5. Experiments 6. Conclusion References
키워드
Software testingTest case generationFloating-point constraintsFloating-point numbersLocal search
보안공학연구지원센터(IJSEIA) [Science & Engineering Research Support Center, Republic of Korea(IJSEIA)]
설립연도
2006
분야
공학>컴퓨터학
소개
1. 보안공학에 대한 각종 조사 및 연구
2. 보안공학에 대한 응용기술 연구 및 발표
3. 보안공학에 관한 각종 학술 발표회 및 전시회 개최
4. 보안공학 기술의 상호 협조 및 정보교환
5. 보안공학에 관한 표준화 사업 및 규격의 제정
6. 보안공학에 관한 산학연 협동의 증진
7. 국제적 학술 교류 및 기술 협력
8. 보안공학에 관한 논문지 발간
9. 기타 본 회 목적 달성에 필요한 사업
간행물
간행물명
International Journal of Software Engineering and Its Applications
간기
월간
pISSN
1738-9984
수록기간
2008~2016
등재여부
SCOPUS
십진분류
KDC 505DDC 605
이 권호 내 다른 논문 / International Journal of Software Engineering and Its Applications Vol.8 No.9