Search-based Software Testing Driven by Automatically Generated and Manually Defined Fitness Functions
Federico Formica, Tony Fan, Claudio Menghi

TL;DR
This paper introduces ATheNA, a novel search-based software testing framework that combines automatically generated and manually defined fitness functions to improve failure detection in software models.
Contribution
ATheNA framework integrates automated and manual fitness functions, enhancing failure detection in SBST, with an implementation targeting Simulink models and comprehensive evaluation.
Findings
ATheNA-S outperforms baseline tools in revealing failures.
Runtime performance of ATheNA-S is comparable to baselines.
Successfully detects requirement violations in case studies.
Abstract
Search-based software testing (SBST) typically relies on fitness functions to guide the search exploration toward software failures. There are two main techniques to define fitness functions: (a) automated fitness function computation from the specification of the system requirements, and (b) manual fitness function design. Both techniques have advantages. The former uses information from the system requirements to guide the search toward portions of the input domain more likely to contain failures. The latter uses the engineers' domain knowledge. We propose ATheNA, a novel SBST framework that combines fitness functions automatically generated from requirements specifications and those manually defined by engineers. We design and implement ATheNA-S, an instance of ATheNA that targets Simulink models. We evaluate ATheNA-S by considering a large set of models from different domains. Our…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Code & Models
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsSoftware Testing and Debugging Techniques · Software Engineering Research · Software Reliability and Analysis Research
