Forskningsoutput per år
Forskningsoutput per år
Kaituo Li, Christoph Reichenbach, Yannis Smaragdakis, Michal Young
Forskningsoutput: Kapitel i bok/rapport/Conference proceeding › Konferenspaper i proceeding › Peer review
The current generation of dynamic invariant detectors often produce invariants that are inconsistent with program semantics or programmer knowledge. We improve the consistency of dynamically discovered invariants by taking into account higher-level constraints. These constraints encode knowledge about invariants, even when the invariants themselves are unknown. For instance, even though the invariants describing the behavior of two functions f1 and f2 may be unknown, we may know that any valid input for f1 is also valid for f2, i.e., the precondition of f1 implies that of f2. We explore techniques for expressing and employing such consistency constraints to improve the quality of produced invariants. We further introduce techniques for dynamically discovering potential second-order constraints that the programmer can subsequently approve or reject. Our implementation builds on the Daikon tool, with a vocabulary of constraints that the programmer can use to enhance and constrain Daikon's inference. We show that dynamic inference of second-order constraints together with minimal human effort can significantly influence the produced (first-order) invariants even in systems of substantial size, such as the Apache Commons Collections and the AspectJ compiler. We also find that 99% of the dynamically inferred second-order constraints we sampled are true.
Originalspråk | engelska |
---|---|
Titel på värdpublikation | 2013 9th Joint Meeting of the European Software Engineering Conference and the ACM SIGSOFT Symposium on the Foundations of Software Engineering, ESEC/FSE 2013 - Proceedings |
Förlag | Association for Computing Machinery (ACM) |
Sidor | 103-113 |
Antal sidor | 11 |
ISBN (tryckt) | 9781450322379 |
DOI | |
Status | Published - 2013 sep. 16 |
Externt publicerad | Ja |
Evenemang | 2013 9th Joint Meeting of the European Software Engineering Conference and the ACM SIGSOFT Symposium on the Foundations of Software Engineering, ESEC/FSE 2013 - Saint Petersburg, Ryssland Varaktighet: 2013 aug. 18 → 2013 aug. 26 |
Konferens | 2013 9th Joint Meeting of the European Software Engineering Conference and the ACM SIGSOFT Symposium on the Foundations of Software Engineering, ESEC/FSE 2013 |
---|---|
Land/Territorium | Ryssland |
Ort | Saint Petersburg |
Period | 2013/08/18 → 2013/08/26 |
Forskningsoutput: Kapitel i bok/rapport/Conference proceeding › Konferenspaper i proceeding