2016 · 25 citations · 45 references
ComputingComputer ScienceData StructuresDesign AutomationFormal MethodsData TypesDesign SynthesisShape AnalysisShape RepresentationFunctional Data Structures
This paper presents a novel automated procedure for discovering expressive shape specifications for sophisticated functional data structures. Our approach extracts potential shape predicates based on the definition of constructors of arbitrary user-defined inductive data types, and combines these predicates within an expressive first-order specification language using a lightweight data-driven learning procedure. Notably, this technique requires no programmer annotations, and is equipped with a type-based decision procedure to verify the correctness of discovered specifications. Experimental results indicate that our implementation is both efficient and effective, capable of automatically synthesizing sophisticated shape specifications over a range of complex data types, going well beyond the scope of existing solutions.
45
Minimization of Boolean Functions*
E.J. McCluskey · Bell System Technical Journal · 1956 · 1.2K citations
The Daikon system for dynamic detection of likely invariants
Michael D. Ernst, Jeff Perkins, Philip J. Guo et al. · Science of Computer Programming · 2007 · 1.1K citations
Koen Claessen, John Hughes · ACM SIGPLAN Notices · 2011 · 1K citations
Koen Claessen, John Hughes · 2000 · 714 citations
Dependent types in practical programming
Hongwei Xi, Frank Pfenning · 1999 · 584 citations · Full text