Assisted Specification of Code Using Search
Steven P. Reiss

TL;DR
This paper presents an intelligent assistant that mines software repositories to help developers create checkable specifications for code subsystems, facilitating automatic code generation and reducing manual specification effort.
Contribution
It introduces a novel approach to assist developers in interactively generating specifications at the subsystem level using repository mining and test case generation.
Findings
Supports subsystem-level specification creation
Integrates with code generation technologies
Reduces manual specification effort
Abstract
We describe an intelligent assistant based on mining existing software repositories to help the developer interactively create checkable specifications of code. To be most useful we apply this at the subsystem level, that is chunks of code of 1000-10000 lines that can be standalone or integrated into an existing application to provide additional functionality or capabilities. The resultant specifications include both a syntactic description of what should be written and a semantic specification of what it should do, initially in the form of test cases. The generated specification is designed to be used for automatic code generation using various technologies that have been proposed including machine learning, code search, and program synthesis. Our research goal is to enable these technologies to be used effectively for creating subsystems without requiring the developer to write…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsSoftware Engineering Research · Software Testing and Debugging Techniques · Software Reliability and Analysis Research
