Litcius/Paper detail

HyDiff

Yannic Noller, Corina S. Păsăreanu, Marcel Böhme, Youcheng Sun, Hoang Lam Nguyen, Lars Grunske

202037 citationsDOIOpen Access PDF

Abstract

Detecting regression bugs in software evolution, analyzing side-channels in programs and evaluating robustness in deep neural networks (DNNs) can all be seen as instances of differential software analysis, where the goal is to generate diverging executions of program paths. Two executions are said to be diverging if the observable program behavior differs, e.g., in terms of program output, execution time, or (DNN) classification. The key challenge of differential software analysis is to simultaneously reason about multiple program paths, often across program variants.

Topics & Concepts

Computer scienceRobustness (evolution)SoftwareProgram analysisArtificial neural networkDifferential (mechanical device)Software bugSoftware evolutionArtificial intelligenceData miningTheoretical computer scienceAlgorithmMachine learningProgramming languageSoftware systemSoftware constructionEngineeringBiochemistryChemistryAerospace engineeringGeneSoftware Testing and Debugging TechniquesSoftware Engineering ResearchAdversarial Robustness in Machine Learning