Publication | Closed Access
Data-driven precondition inference with learned features
103
Citations
30
References
2016
Year
Unknown Venue
Artificial IntelligenceEngineeringMachine LearningCompiler TechnologyVerificationSoftware EngineeringSoftware AnalysisFormal VerificationData ScienceSearch SpaceFeature-learning TechniqueSupervised LearningCompiler SupportComputer ScienceTest ExecutionsDeep LearningFeature ConstructionStatic Program AnalysisAutomated ReasoningProgram AnalysisSoftware TestingFormal MethodsData-driven PredictionProgram SynthesisParallel ProgrammingSymbolic ExecutionData-driven Precondition Inference
We extend the data-driven approach to inferring preconditions for code from a set of test executions. Prior work requires a fixed set of features, atomic predicates that define the search space of possible preconditions, to be specified in advance. In contrast, we introduce a technique for on-demand feature learning, which automatically expands the search space of candidate preconditions in a targeted manner as necessary. We have instantiated our approach in a tool called PIE. In addition to making precondition inference more expressive, we show how to apply our feature-learning technique to the setting of data-driven loop invariant inference. We evaluate our approach by using PIE to infer rich preconditions for black-box OCaml library functions and using our loop-invariant inference algorithm as part of an automatic program verifier for C++ programs.
| Year | Citations | |
|---|---|---|
Page 1
Page 1