Publication | Open Access
Component-based synthesis for complex APIs
113
Citations
41
References
2016
Year
Unknown Venue
EngineeringVerificationSoftware EngineeringCompact Petri-net RepresentationSoftware AnalysisFormal VerificationComponent SystemGeneric ProgrammingSystems EngineeringProgram TransformationFormal SpecificationComponent-based SynthesisComponent-based Software EngineeringComputer EngineeringComputer ScienceSoftware DesignComponent TechnologyAutomated ReasoningProgram AnalysisSoftware TestingFormal MethodsProgram SynthesisSystem SoftwareComponent-based Approaches
Component-based approaches to program synthesis assemble programs from a database of existing components, such as methods provided by an API. In this paper, we present a novel type-directed algorithm for component-based synthesis. The key novelty of our approach is the use of a compact Petri-net representation to model relationships between methods in an API. Given a target method signature S, our approach performs reachability analysis on the underlying Petri-net model to identify sequences of method calls that could be used to synthesize an implementation of S. The programs synthesized by our algorithm are guaranteed to type check and pass all test cases provided by the user.
| Year | Citations | |
|---|---|---|
Page 1
Page 1