Semantic bug seeding: a learning-based approach for creating realistic bugs
Jibesh Patra, Michael Pradel
Abstract
When working on techniques to address the wide-spread problem of software bugs, one often faces the need for a large number of realistic bugs in real-world programs. Such bugs can either help evaluate an approach, e.g., in form of a bug benchmark or a suite of program mutations, or even help build the technique, e.g., in learning-based bug detection. Because gathering a large number of real bugs is difficult, a common approach is to rely on automatically seeded bugs. Prior work seeds bugs based on syntactic transformation patterns, which often results in unrealistic bugs and typically cannot introduce new, application-specific code tokens.
Topics & Concepts
Software bugComputer scienceBenchmark (surveying)SuiteCode (set theory)SoftwareArtificial intelligenceTransformation (genetics)Machine learningProgramming languageSoftware engineeringSet (abstract data type)GeodesyChemistryArchaeologyGeneHistoryGeographyBiochemistrySoftware Engineering ResearchSoftware Testing and Debugging TechniquesSoftware Reliability and Analysis Research