|
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
|
Mark Harman , Lin Hu , Rob Hierons , Joachim Wegener , Harmen Sthamer , André Baresel , Marc Roper, Testability Transformation, IEEE Transactions on Software Engineering, v.30 n.1, p.3-16, January 2004
[doi> 10.1109/TSE.2004.1265732]
|
| |
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
|
Nigel Tracey , John Clark , Keith Mander, Automated program flaw finding using simulated annealing, Proceedings of the 1998 ACM SIGSOFT international symposium on Software testing and analysis, p.73-81, March 02-04, 1998, Clearwater Beach, Florida, United States
|
| |
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
|
|
|
|
|
Xiyang Liu , Hehui Liu , Bin Wang , Ping Chen , Xiyao Cai, A unified fitness function calculation rule for flag conditions to improve evolutionary testing, Proceedings of the 20th IEEE/ACM international Conference on Automated software engineering, November 07-11, 2005, Long Beach, CA, USA
|
|
|
|
|
|
Marc Fisher, II , Gregg Rothermel , Darren Brown , Mingming Cao , Curtis Cook , Margaret Burnett, Integrating automated test generation into the WYSIWYT spreadsheet testing methodology, ACM Transactions on Software Engineering and Methodology (TOSEM), v.15 n.2, p.150-194, April 2006
|
|
|
Phil McMinn , Mark Harman , David Binkley , Paolo Tonella, The species per path approach to SearchBased test data generation, Proceedings of the 2006 international symposium on Software testing and analysis, July 17-20, 2006, Portland, Maine, USA
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|