(2023) Semantic Debugging.
This is the latest version of this item.
Text
semantic-debugging.pdf Download (1MB) |
Abstract
Why does my program fail? We present a novel and general technique to automatically determine failure causes and conditions, using logical properties over input elements: "The program fails if and only if int(⟨length⟩) > len(⟨payload⟩) holds - that is, the given ⟨length⟩ is larger than the ⟨payload⟩ length." Our AVICENNA prototype uses modern techniques for inferring properties of passing and failing inputs and validating and refining hypotheses by having a constraint solver generate supporting test cases to obtain such diagnoses. As a result, AVICENNA produces crisp and expressive diagnoses even for complex failure conditions, considerably improving over the state of the art with diagnoses close to those of human experts.
Item Type: | Conference or Workshop Item (A Paper) (Paper) |
---|---|
Divisions: | Andreas Zeller (Software Engineering, ST) |
Conference: | ESEC/FSE European Software Engineering Conference and the ACM SIGSOFT Symposium on the Foundations of Software Engineering (formerly listed as ESEC) |
Depositing User: | Marius Smytzek |
Date Deposited: | 29 Aug 2023 06:21 |
Last Modified: | 29 Aug 2023 06:21 |
Primary Research Area: | NRA4: Secure Mobile and Autonomous Systems |
URI: | https://publications.cispa.saarland/id/eprint/4020 |
Available Versions of this Item
- Semantic Debugging. (deposited 29 Aug 2023 06:21) [Currently Displayed]
Actions
Actions (login required)
View Item |