ACM Home Page
Please provide us with feedback. Feedback
Evolutionary testing in the presence of loop-assigned flags: a testability transformation approach
Full text PdfPdf (241 KB)
Source International Symposium on Software Testing and Analysis archive
Proceedings of the 2004 ACM SIGSOFT international symposium on Software testing and analysis table of contents
Boston, Massachusetts, USA
SESSION: Test generation table of contents
Pages: 108 - 118  
Year of Publication: 2004
ISBN:1-58113-820-2
Also published in ...
Authors
André Baresel  DaimlerChrysler AG, Berlin
David Binkley  Loyola College, Baltimore, MD
Mark Harman  Brunel University, Middlesex, UK
Bogdan Korel  Illinois Institute of Technology, Chicago, IL
Sponsors
SIGSOFT: ACM Special Interest Group on Software Engineering
ACM: Association for Computing Machinery
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 7,   Downloads (12 Months): 78,   Citation Count: 17
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/1007512.1007527
What is a DOI?

ABSTRACT

Evolutionary testing is an effective technique for automatically generating good quality test data. However, for structural testing, the technique degenerates to random testing in the presence of flag variables, which also present problems for other automated test data generation techniques. Previous work on the flag problem does not address flags assigned in loops.This paper introduces a testability transformation that transforms programs with loop--assigned flags so that existing genetic approaches can be successfully applied. It then presents empirical data demonstrating the effectiveness of the transformation. Untransformed, the genetic algorithm flounders and is unable to find a solution. Two transformations are considered. The first allows the search to find a solution. The second reduces the time taken by an order of magnitude and, more importantly, reduces the slope of the cost increase; thus, greatly increasing the complexity of the problem to which the genetic algorithm can be applied. The paper also presents a second empirical study showing that loop--assigned flags are prevalent in real world code. They account for just under 11% of all flags.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

 
1
A. Baresel and H. Sthamer. Evolutionary testing of flag conditions. In Genetic and Evolutionary Computation (GECCO-2003), volume 2724 of LNCS, pages 2442--2454, Chicago, 12-16 July 2003. Springer-Verlag.
 
2
 
3
D. W. Binkley and K. B. Gallagher. Program slicing. In M. Zelkowitz, editor, Advances in Computing, Volume 43, pages 1--50. Academic Press, 1996.
 
4
 
5
British Standards Institute. BS 7925-1 vocabulary of terms in software testing, 1998.
 
6
British Standards Institute. BS 7925-2 software component testing, 1998.
 
7
J. Clark, J. J. Dolado, M. Harman, R. M. Hierons, B. Jones, M. Lumkin, B. Mitchell, S. Mancoridis, K. Rees, M. Roper, and M. Shepperd. Reformulating software engineering as a search problem. IEE Proceedings --- Software, 150(3):161--175, 2003.
 
8
L. A. Clarke. A system to generate test data and symbolically execute programs. IEEE Transactions on Software Engineering, 2(3):215--222, Sept. 1976.
 
9
10
11
12
 
13
14
15
 
16
Grammatech Inc. The codesurfer slicing system, 2002.
 
17
 
18
M. Harman and B. F. Jones. Search based software engineering. Information and Software Technology, 43(14):833--839, Dec. 2001.
 
19
 
20
B. Jones, H.-H. Sthamer, and D. Eyres. Automatic structural testing using genetic algorithms. The Software Engineering Journal, 11:299--306, 1996.
 
21
B. F. Jones, D. E. Eyres, and H. H. Sthamer. A strategy for using genetic algorithms to automate branch and fault-based testing. The Computer Journal, 41(2):98--107, 1998.
22
 
23
P. McMinn. A survey of evolutionary testing. Software Testing, Verification and Reliability. To appear.
 
24
 
25
 
26
 
27
 
28
R. P. Pargas, M. J. Harrold, and R. R. Peck. Test-data generation using genetic algorithms. The Journal of Software Testing, Verification and Reliability, 9:263--282, 1999.
 
29
 
30
H. Pohlheim. Genetic and evolutionary algorithm toolbox for use with Matlab.
 
31
H. Pohlheim and J. Wegener. Testing the temporal behavior of real-time software modules using extended evolutionary algorithms. In W. Banzhaf, J. Daida, A. E. Eiben, M. H. Garzon, V. Honavar, M. Jakiela, and R. E. Smith, editors, Proceedings of the Genetic and Evolutionary Computation Conference, volume 2, page 1795, Orlando, Florida, USA, 13-17 July 1999. Morgan Kaufmann.
 
32
 
33
Radio Technical Commission for Aeronautics. RTCA DO178-B Software considerations in airborne systems and equipment certification, 1992.
 
34
 
35
36
 
37
N. Tracey, J. Clark, and K. Mander. The way forward for unifying dynamic test-case generation: The optimisation-based approach. In International Workshop on Dependable Computing and Its Applications (DCIA), pages 169--180. IFIP, January 1998.
 
38
 
39
M. Ward. Reverse engineering through formal transformation. The Computer Journal, 37(5), 1994.
 
40
J. Wegener, A. Baresel, and H. Sthamer. Evolutionary test environment for automatic structural testing. Information and Software Technology Special Issue on Software Engineering using Metaheuristic Innovative Algorithms, 43(14):841--854, 2001.
 
41
J. Wegener, K. Grimm, M. Grochtmann, H. Sthamer, and B. F. Jones. Systematic testing of real-time systems. In 4th International Conference on Software Testing Analysis and Review (EuroSTAR 96), 1996.
 
42
 
43
 
44
 
45
M. Weiser. Program slicing. IEEE Transactions on Software Engineering, 10(4):352--357, 1984.

CITED BY  17

Collaborative Colleagues:
André Baresel: colleagues
David Binkley: colleagues
Mark Harman: colleagues
Bogdan Korel: colleagues