skip to main content
10.1145/3321707.3321880acmconferencesArticle/Chapter ViewAbstractPublication PagesgeccoConference Proceedingsconference-collections
research-article

Footprints of fitness functions in search-based software testing

Published: 13 July 2019 Publication History

Abstract

Testing is technically and economically crucial for ensuring software quality. One of the most challenging testing tasks is to create test suites that will reveal potential defects in software. However, as the size and complexity of software systems increase, the task becomes more labour-intensive and manual test data generation becomes infeasible. To address this issue, researchers have proposed different approaches to automate the process of generating test data using search techniques; an area that is known as Search-Based Software Testing (SBST).
SBST methods require a fitness function to guide the search to promising areas of the solution space. Over the years, a plethora of fitness functions have been proposed. Some methods use control information, others focus on goals. Deciding on what fitness function to use is not easy, as it depends on the software system under test. This work investigates the impact of software features on the effectiveness of different fitness functions. We propose the Mapping the Effectiveness of Test Automation (META) Framework which analyses the footprint of different fitness functions and creates a decision tree that enables the selection of the appropriate function based on software features.

References

[1]
Aldeida Aleti and Lars Grunske. 2015. Test data generation with a Kalman filter-based adaptive genetic algorithm. Journal of Systems and Software 103 (2015), 343 -- 352. Special Issue.
[2]
Aldeida Aleti and Irene Moser. 2011. Predictive Parameter Control. In Proceedings of the 13th Annual Conference on Genetic and Evolutionary Computation. ACM, 561--568.
[3]
Aldeida Aleti and Irene Moser. 2013. Entropy-based Adaptive Range Parameter Control for Evolutionary Algorithms. In Proceedings of the 15th Annual Conference on Genetic and Evolutionary Computation. ACM, 1501--1508.
[4]
Aldeida Aleti, Irene Moser, and Lars Grunske. 2016. Analysing the fitness landscape of search-based software testing problems. Automated Software Engineering (2016), 1--19.
[5]
Aldeida Aleti, Irene Moser, Indika Meedeniya, and Lars Grunske. 2014. Choosing the appropriate forecasting model for predictive parameter control. Evolutionary computation 22, 2 (2014), 319--349.
[6]
Aldeida Aleti, Irene Moser, and Sanaz Mostaghim. 2012. Adaptive range parameter control. In 2012 IEEE Congress on Evolutionary Computation. IEEE, 1--8.
[7]
André Baresel, Harmen Sthamer, and Michael Schmidt. 2002. Fitness Function Design To Improve Evolutionary Structural Testing. In Genetic and Evolutionary Computation Conference, Vol. 2. 1329--1336.
[8]
David L. Bird and Carlos Urias Munoz. 1983. Automatic generation of random self-checking test cases. IBM systems journal 22, 3 (1983), 229--245.
[9]
B Borah and DK Bhattacharyya. 2004. An improved sampling-based DBSCAN for large spatial databases. In Intelligent Sensing and Information Processing, 2004. Proceedings of International Conference on. IEEE, 92--96.
[10]
Jon Edvardsson. 1999. A survey on automatic test data generation. In Proceedings of the 2nd Conference on Computer Science and Engineering. 21--28.
[11]
Roger Ferguson and Bogdan Korel. 1995. Software test data generation using the chaining approach. In International Test Conference. IEEE, 703--709.
[12]
Gordon Fraser and Andrea Arcuri. 2013. Whole test suite generation. Software Engineering, IEEE Transactions on 39, 2 (2013), 276--291.
[13]
Gordon Fraser and Andrea Arcuri. 2014. A large-scale evaluation of automated unit test generation using EvoSuite. ACM Transactions on Software Engineering and Methodology 24, 2 (2014), 8.
[14]
Gordon Fraser and Andrea Arcuri. 2014. A Large-Scale Evaluation of Automated Unit Test Generation Using EvoSuite. ACM Transactions on Software Engineering and Methodology 24, 2, Article 8 (2014), 8:1--8:42 pages.
[15]
Matthew J Gallagher and V Lakshmi Narasimhan. 1997. Adtest: A test data generation suite for ada software systems. Software Engineering, IEEE Transactions on 23, 8 (1997), 473--484.
[16]
Kamran Ghani and John A Clark. 2009. Automatic test data generation for multiple condition and MCDC coverage. In Software Engineering Advances, International Conference on. IEEE, 152--157.
[17]
Marius Gheorghita, Irene Moser, and Aldeida Aleti. 2013. Characterising fitness landscapes using predictive local search. In Proceedings of the 15th annual conference companion on genetic and evolutionary computation. ACM, 67--68.
[18]
Mark Harman and Phil McMinn. 2010. A theoretical and empirical study of search-based testing: Local, global, and hybrid search. Software Engineering, IEEE Transactions on 36, 2 (2010), 226--247.
[19]
Yue Jia and Mark Harman. 2008. Constructing subtle faults using higher order mutation testing. In Source Code Analysis and Manipulation, International Working Conference on. IEEE, 249--258.
[20]
Bogdan Korel. 1990. Automated software test data generation. Software Engineering, IEEE Transactions on 16, 8 (1990), 870--879.
[21]
Bogdan Korel. 1992. Dynamic method for software test data generation. Software Testing, Verification and Reliability 2, 4 (1992), 203--213.
[22]
Bogdan Korel. 1996. Automated test data generation for programs with procedures. In ACM SIGSOFT Software Engineering Notes, Vol. 21. ACM, 209--215.
[23]
Nashat Mansour and Miran Salame. 2004. Data generation for path testing. Software Quality Journal 12, 2 (2004), 121--136.
[24]
Phil McMinn. 2004. Search-based software test data generation: A survey. Software Testing Verification and Reliability 14, 2 (2004), 105--156.
[25]
Webb Miller and David L. Spooner. 1976. Automatic generation of floating-point test data. IEEE Transactions on Software Engineering 2, 3 (1976), 223.
[26]
I Moser, M Gheorghita, and A Aleti. 2016. Identifying Features of Fitness Landscapes and Relating Them to Problem Difficulty. Evolutionary computation (2016).
[27]
Irene Moser, Marius Gheorghita, and Aldeida Aleti. 2016. Investigating the correlation between indicators of predictive diagnostic optimisation and search result quality. Information Sciences 372 (2016), 162--180.
[28]
Mario A. Muñoz, Laura Villanova, Davaatseren Baatar, and Kate Smith-Miles. 2018. Instance spaces for machine learning classification. Machine Learning 107, 1 (2018), 109--147.
[29]
Carlos Oliveira, Aldeida Aleti, Lars Grunske, and Kate Smith-Miles. 2018. Mapping the Effectiveness of Automated Test Suite Generation Techniques. IEEE Transactions on Reliability 99 (2018), 1--15.
[30]
Alessandro Orso and Gregg Rothermel. 2014. Software testing: a research travelogue (2000--2014). In Future of Software Engineering. ACM, 117--132.
[31]
Roy P Pargas, Mary Jean Harrold, and Robert R Peck. 1999. Test-data generation using genetic algorithms. Software Testing Verification and Reliability 9, 4 (1999), 263--282.
[32]
Kemal Polat and Salih Güneş. 2009. A novel hybrid intelligent method based on C4. 5 decision tree classifier and one-against-all approach for multi-class classification problems. Expert Systems with Applications 36, 2 (2009), 1587--1592.
[33]
D. M. W. Powers. 2011. Evaluation: From precision, recall and f-measure to roc., informedness, markedness & correlation. Journal of Machine Learning Technologies 2, 1 (2011), 37--63.
[34]
Peter Puschner and Roman Nossal. 1998. Testing the results of static worst-case execution-time analysis. In Real-Time Systems Symposium. IEEE, 134--143.
[35]
José Miguel Rojas, Mattia Vivanti, Andrea Arcuri, and Gordon Fraser. 2017. A detailed investigation of the effectiveness of whole test suite generation. Empirical Software Engineering 22, 2 (2017), 852--893.
[36]
Marc Roper. 1997. Computer aided software testing using genetic algorithms. (1997).
[37]
Sina Shamshiri, José Miguel Rojas, Gordon Fraser, and Phil McMinn. 2015. Random or Genetic Algorithm Search for Object-Oriented Test Suite Generation?. In Genetic and Evolutionary Computation Conference. ACM, 1367--1374.
[38]
Kate A. Smith-Miles, Davaatseren Baatar, Brendan Wreford, and Rhyd Lewis. 2014. Towards objective measures of algorithm performance across instance space. 45 (2014), 12--24.
[39]
Pascale Thevenod-Fosse and Helene Waeselynck. 1993. STATEMATE applied to statistical software testing. In ACM SIGSOFT Software Engineering Notes, Vol. 18. ACM, 99--109.
[40]
Nigel Tracey, John Clark, Keith Mander, and John McDermid. 1998. An automated framework for structural test-data generation. In Automated Software Engineering. IEEE, 285--288.
[41]
Nigel James Tracey. 2000. A search-based automated test-data generation framework for safety-critical software. Ph.D. Dissertation. Citeseer.
[42]
Jeffrey Voas, Larry Morell, and Keith Miller. 1991. Predicting where faults can hide from testing. Software 8, 2 (1991), 41--48.
[43]
Alison Watkins and Ellen M Hufnagel. 2006. Evolutionary test data generation: a comparison of fitness functions. Software: Practice and Experience 36, 1 (2006), 95--116.
[44]
Alison Lachut Watkins. 1995. The automatic generation of test data using genetic algorithms. In Software Quality Conference, Vol. 2. 300--309.
[45]
Joachim Wegener, André Baresel, and Harmen Sthamer. 2001. Evolutionary test environment for automatic structural testing. Information and Software Technology 43, 14 (2001), 841--854.
[46]
Joachim Wegener, Harmen Sthamer, Bryan F Jones, and David E Eyres. 1997. Testing real-time systems using genetic algorithms. Software Quality Journal 6, 2 (1997), 127--135.
[47]
David H Wolpert and William G Macready. 1997. No free lunch theorems for optimization. IEEE Transactions on Evolutionary Computation 1, 1 (1997), 67--82.
[48]
S Xanthakis, C Ellis, C Skourlas, A Le Gall, S Katsikas, and K Karapoulios. 1992. Application of genetic algorithms to software testing. In International Conference on Software Engineering and its Applications. 625--636.
[49]
Man Xiao, Mohamed El-Attar, Marek Reformat, and James Miller. 2007. Empirical evaluation of optimization algorithms when used in goal-oriented automated test data generation techniques. Empirical Software Engineering 12, 2 (2007), 183--239.

Cited By

View all

Index Terms

  1. Footprints of fitness functions in search-based software testing

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image ACM Conferences
    GECCO '19: Proceedings of the Genetic and Evolutionary Computation Conference
    July 2019
    1545 pages
    ISBN:9781450361118
    DOI:10.1145/3321707
    Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

    Sponsors

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 13 July 2019

    Permissions

    Request permissions for this article.

    Check for updates

    Author Tags

    1. genetic algorithms
    2. search based software engineering

    Qualifiers

    • Research-article

    Conference

    GECCO '19
    Sponsor:
    GECCO '19: Genetic and Evolutionary Computation Conference
    July 13 - 17, 2019
    Prague, Czech Republic

    Acceptance Rates

    Overall Acceptance Rate 1,669 of 4,410 submissions, 38%

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)13
    • Downloads (Last 6 weeks)1
    Reflects downloads up to 07 Nov 2024

    Other Metrics

    Citations

    Cited By

    View all

    View Options

    Get Access

    Login options

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    Media

    Figures

    Other

    Tables

    Share

    Share

    Share this Publication link

    Share on social media