Data structure synthesis is the task of generating data structure implementations from high-level specifications. Recent work in this area has shown potential to save programmer time and reduce the risk of defects. Existing techniques focus on data structures for manipulating subsets of a single collection, but real-world programs often track multiple related collections and aggregate properties such as sums, counts, minimums, and maximums.
This paper shows how to synthesize data structures that track subsets and aggregations of multiple related collections. Our technique decomposes the synthesis task into alternating steps of query synthesis and incrementalization. The query synthesis step implements pure operations over the data structure state by leveraging existing enumerative synthesis techniques, specialized to the data structures domain. The incrementalization step implements imperative state modifications by re-framing them as fresh queries that determine what to change, coupled with a small amount of code to apply the change. As an added benefit of this approach over previous work, the synthesized data structure is optimized for not only the queries in the specification but also the required update operations. We have evaluated our approach in four large case studies, demonstrating that these extensions are broadly applicable.
Fri 1 Jun Times are displayed in time zone: Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change
11:00 - 12:30: Code Search, Synthesis, PerformanceTechnical Papers / Journal first papers at H1 room Chair(s): Shahar MaozTel Aviv University | |||
11:00 - 11:20 Research paper | Deep Code Search Technical Papers Xiaodong GuThe Hong Kong University of Science and Technology, Hongyu ZhangThe University of Newcastle, Sunghun KimHong Kong University of Science and Technology Pre-print | ||
11:20 - 11:40 Talk | Augmenting and Structuring User Queries to Support Efficient Free-Form Code Search Journal first papers Raphaël Sirres, Tegawendé F. BissyandéUniversity of Luxembourg, Luxembourg, Dongsun KimUniversity of Luxembourg, David LoSingapore Management University, Jacques KleinUniversity of Luxembourg, SnT, Kisub KimUniversity of Luxembourg, SnT, Yves Le TraonUniversity of Luxembourg Link to publication DOI Pre-print Media Attached | ||
11:40 - 12:00 Talk | FaCoY – A Code-to-Code Search Engine Technical Papers Kisub KimUniversity of Luxembourg, SnT, Dongsun KimUniversity of Luxembourg, Tegawendé F. BissyandéUniversity of Luxembourg, Luxembourg, Eunjong ChoiNara Institute of Science and Technology, Li LiUniversity of Luxembourg, Luxembourg, Jacques KleinUniversity of Luxembourg, SnT, Yves Le TraonUniversity of Luxembourg Link to publication DOI Pre-print Media Attached | ||
12:00 - 12:20 Talk | Generalized Data Structure Synthesis Technical Papers Calvin LoncaricUniversity of Washington, Michael D. ErnstUniversity of Washington, USA, Emina TorlakUniversity of Washington DOI Pre-print Media Attached | ||
12:20 - 12:30 Talk | Q&A in groups Technical Papers |