Paper published in a book (Scientific congresses, symposiums and conference proceedings)
When does my program do this? learning circumstances of software behavior
Kampmann, Alexander; Havrikov, Nikolas; Soremekun, Ezekiel et al.
2020In Proceedings of the 28th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering
Peer reviewed
 

Files


Full Text
fse2020-alhazen.pdf
Author postprint (720.42 kB)
Download

All documents in ORBilu are protected by a user license.

Send to



Details



Keywords :
debugging; error diagnosis; machine learning
Abstract :
[en] We introduce Alhazen — an approach that automatically determines the circumstances under which a particular program behavior, such as a failure, takes place. Alhazen starts with a run that exhibits this behavior and automatically determines input features associated with the behavior in question: (1) We use a grammar to parse the input into individual elements. (2) We determine features from the elements such as existence, length, or numerical values. (3) We use a decision tree learner to observe and learn which input features are associated with the behavior in question. (4) We use the grammar to generate additional inputs to further strengthen or refute hypotheses as learned associations. (5) By repeating steps 2 to 4, we obtain a theory that explains and predicts the given behavior. In our evaluation using inputs for find, grep, NetHack, and a JavaScript transpiler, the theories produced by Alhazen predict and produce failures with high accuracy and allow developers to focus on a small set of input features: “grep fails whenever the --fixed-strings option is used in conjunction with an empty search string.”
Disciplines :
Computer science
Author, co-author :
Kampmann, Alexander;  CISPA Helmholtz Center for Information Security Saarbrücken, Germany
Havrikov, Nikolas;  CISPA Helmholtz Center for Information Security Saarbrücken, Germany
Soremekun, Ezekiel ;  University of Luxembourg > Interdisciplinary Centre for Security, Reliability and Trust (SNT) > SerVal
Zeller, Andreas;  CISPA Helmholtz Center for Information Security Saarbrücken, Germany
External co-authors :
yes
Language :
English
Title :
When does my program do this? learning circumstances of software behavior
Publication date :
08 November 2020
Event name :
Proceedings of the 28th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering
Event date :
6 - 16 November 2020
Audience :
International
Main work title :
Proceedings of the 28th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering
Pages :
1228-1239
Peer reviewed :
Peer reviewed
Focus Area :
Security, Reliability and Trust
Available on ORBilu :
since 05 February 2021

Statistics


Number of views
80 (2 by Unilu)
Number of downloads
51 (2 by Unilu)

Scopus citations®
 
12
Scopus citations®
without self-citations
9
OpenCitations
 
4

Bibliography


Similar publications



Contact ORBilu