Fuzzing class specifications
Facundo Molina, Marcelo d’Amorim, Nazareno Aguirre
Abstract
Expressing class specifications via executable constraints is important for various software engineering tasks such as test generation, bug finding and automated debugging, but developers rarely write them. Techniques that infer specifications from code exist to fill this gap, but they are designed to support specific kinds of assertions and are difficult to adapt to support different assertion languages, e.g., to add support for quantification, or additional comparison operators, such as membership or containment.
Topics & Concepts
DebuggingComputer scienceExecutableProgramming languageFuzz testingAssertionClass (philosophy)Software engineeringSymbolic executionSoftware bugSoftwareArtificial intelligenceSoftware Testing and Debugging TechniquesSoftware Reliability and Analysis ResearchSoftware Engineering Research