Generalized data structure synthesis

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 col...

Celý popis

Uloženo v:
Podrobná bibliografie
Vydáno v:2018 IEEE/ACM 40th International Conference on Software Engineering (ICSE) s. 958 - 968
Hlavní autoři: Loncaric, Calvin, Ernst, Michael D., Torlak, Emina
Médium: Konferenční příspěvek
Jazyk:angličtina
Vydáno: New York, NY, USA ACM 27.05.2018
Edice:ACM Conferences
Témata:
ISBN:9781450356381, 1450356389
ISSN:1558-1225
On-line přístup:Získat plný text
Tagy: Přidat tag
Žádné tagy, Buďte první, kdo vytvoří štítek k tomuto záznamu!
Abstract 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.
AbstractList 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.
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.
Author Loncaric, Calvin
Torlak, Emina
Ernst, Michael D.
Author_xml – sequence: 1
  givenname: Calvin
  surname: Loncaric
  fullname: Loncaric, Calvin
  email: loncaric@cs.washington.edu
  organization: University of Washington
– sequence: 2
  givenname: Michael D.
  surname: Ernst
  fullname: Ernst, Michael D.
  email: mernst@cs.washington.edu
  organization: University of Washington
– sequence: 3
  givenname: Emina
  surname: Torlak
  fullname: Torlak, Emina
  email: emina@cs.washington.edu
  organization: University of Washington
BookMark eNqNkD1PwzAURc2XRCmZGVgyMLAk-Nl5ycuIKihIlVhgthz7RQTaBMXpUH59UzUTE9MZju4dzpU4b7uWhbgBmQJk-KCBJCCmByqAExGVBY1Casw1wamYjZYSUArP_rhLEYXwJaVUOWUE-UzcLbnl3q6bX_axt4ONw9Bv3bDtOQ67dvjk0IRrcVHbdeBo4lx8PD-9L16S1dvydfG4SqzKiiGpPFlVo3QAjrEEWcuKWDnyrDyRJot5DaA9195mOvdKM2KFslSFcrnUc3F7_G2Y2fz0zcb2O0MZaihwtOnRWrcxVdd9BwPSHJKYKYmZkpiqb7geB_f_HOg9mhBcoQ
CODEN IEEPAD
ContentType Conference Proceeding
Copyright 2018 ACM
Copyright_xml – notice: 2018 ACM
DBID 6IE
6IH
CBEJK
RIE
RIO
DOI 10.1145/3180155.3180211
DatabaseName IEEE Electronic Library (IEL) Conference Proceedings
IEEE Proceedings Order Plan (POP) 1998-present by volume
IEEE Xplore All Conference Proceedings
IEEE Electronic Library (IEL)
IEEE Proceedings Order Plans (POP) 1998-present
DatabaseTitleList

Database_xml – sequence: 1
  dbid: RIE
  name: IEEE Electronic Library (IEL)
  url: https://ieeexplore.ieee.org/
  sourceTypes: Publisher
DeliveryMethod fulltext_linktorsrc
Discipline Computer Science
EISBN 9781450356381
1450356389
EISSN 1558-1225
EndPage 968
ExternalDocumentID 8453175
Genre orig-research
GroupedDBID 6IE
6IF
6IG
6IL
6IM
6IN
AAJGR
ABLEC
ABQGA
ACM
ADPZR
ALMA_UNASSIGNED_HOLDINGS
APO
BEFXN
BFFAM
BGNUA
BKEBE
BPEOZ
CBEJK
GUFHI
IEGSK
IJVOP
LHSKQ
OCL
RIB
RIC
RIE
RIL
RIO
-~X
.4S
.DC
123
23M
29O
5VS
6IH
6IK
8US
AAWTH
ADZIZ
AFFNX
ARCSS
AVWKF
CHZPO
EDO
FEDTE
I-F
I07
IPLJI
M43
RNS
XOL
ID FETCH-LOGICAL-a247t-bd8a2f50c11ce5910f0b8e2c8de2d8838a56f113defda436d23e55b509272c603
IEDL.DBID RIE
ISBN 9781450356381
1450356389
ISICitedReferencesCount 15
ISICitedReferencesURI http://www.webofscience.com/api/gateway?GWVersion=2&SrcApp=Summon&SrcAuth=ProQuest&DestLinkType=CitingArticles&DestApp=WOS_CPL&KeyUT=000454843300121&url=https%3A%2F%2Fcvtisr.summon.serialssolutions.com%2F%23%21%2Fsearch%3Fho%3Df%26include.ft.matches%3Dt%26l%3Dnull%26q%3D
IngestDate Wed Aug 27 02:08:00 EDT 2025
Fri Sep 13 11:04:35 EDT 2024
IsPeerReviewed false
IsScholarly true
Keywords program synthesis
automatic programming
data structures
Language English
License Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than the author(s) must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from Permissions@acm.org.
LinkModel DirectLink
MeetingName ICSE '18: 40th International Conference on Software Engineering
MergedId FETCHMERGED-LOGICAL-a247t-bd8a2f50c11ce5910f0b8e2c8de2d8838a56f113defda436d23e55b509272c603
PageCount 11
ParticipantIDs acm_books_10_1145_3180155_3180211_brief
ieee_primary_8453175
acm_books_10_1145_3180155_3180211
PublicationCentury 2000
PublicationDate 20180527
2018-May
PublicationDateYYYYMMDD 2018-05-27
2018-05-01
PublicationDate_xml – month: 05
  year: 2018
  text: 20180527
  day: 27
PublicationDecade 2010
PublicationPlace New York, NY, USA
PublicationPlace_xml – name: New York, NY, USA
PublicationSeriesTitle ACM Conferences
PublicationTitle 2018 IEEE/ACM 40th International Conference on Software Engineering (ICSE)
PublicationTitleAbbrev ICSE
PublicationYear 2018
Publisher ACM
Publisher_xml – name: ACM
SSID ssj0002684816
ssj0006499
Score 2.211145
Snippet Data structure synthesis is the task of generating data structure implementations from high-level specifications. Recent work in this area has shown potential...
SourceID ieee
acm
SourceType Publisher
StartPage 958
SubjectTerms automatic programming
Data structures
Program synthesis
Servers
Software
Software and its engineering -- Software notations and tools -- Compilers -- Source code generation
Synthesizers
Task analysis
Theory of computation -- Design and analysis of algorithms -- Data structures design and analysis
Title Generalized data structure synthesis
URI https://ieeexplore.ieee.org/document/8453175
WOSCitedRecordID wos000454843300121&url=https%3A%2F%2Fcvtisr.summon.serialssolutions.com%2F%23%21%2Fsearch%3Fho%3Df%26include.ft.matches%3Dt%26l%3Dnull%26q%3D
hasFullText 1
inHoldings 1
isFullTextHit
isPrint
link http://cvtisr.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwlV3PS8MwFH5sw4OnqZs4f1Fh4MVuTdo06VkdHmQMprJbSZoX2MEq6yboX2_SxokgiKeWEmj50rz39TXf9wCGihNMDdFh7EKgpdQmVAWLw0hxZEqYrCldPN3z6VQsFtmsBVdbLQwi1pvPcORO63_5-qXYuFLZWCTMpbs2tDlPG63Wtp7iXEuEozo-Cqf2vt7KhyRsbF9dxw5G7khdu6C2LJ5_dFSpE8qk-79H2YP-tzIvmG1zzj60sDyA7ldrhsCv1B4MvZ308gN1cCPXMpjXRrGbFQbz99KyvmpZ9eFxcvtwfRf6hgihpAlfh0oLSQ2LCkKceopEJlICaSE0Ui1ELCSzuJNYo9EyiVNNY2RMWU5AOS3SKD6ETvlS4hEE1IY1xqMETWKcZ6CMtNGZlpkgdpKMHsCFBSh3TL_KG_Eyyz2IuQdxAJd_jsmV_eI3A-g5CPPXxkEj9-gd_375BHYtLRHNtsJT6Fh88Ax2irf1slqd19P-CcRNpwo
linkProvider IEEE
linkToHtml http://cvtisr.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwlV1dS8MwFL1sU9CnqZs4PysMfLFbkzZt9qyOiXMMNmVvIW1uYA92sm6C_nqTtk4EQXxqKIWU0_Te09uccwHacUQw1ES5vg2BhlJrN06Y73pxhCzmuleULp6H0WjEZ7PeuALXGy0MIuabz7Bjh_m_fLVI1rZU1uUBs-muClssCKhXqLU2FRXrW8It2SnjcGhmLs18SMC6ZvFaftCxR2obBlVl8vKjp0qeUvr1_93MHjS_tXnOeJN19qGC6QHUv5ozOOW72oB2aSg9_0Dl3MqVdCa5Vex6ic7kPTW8L5tnTXjq301vBm7ZEsGVNIhWbqy4pJp5CSFWP0U87cUcacIVUsW5zyUzyBNfoVYy8ENFfWQsNqyARjQJPf8QaukixSNwqAlsLPIC1IG2roHSU1r1lOxxYh6TVi24NAAJy_UzUciXmShBFCWILbj68xoRm29-3YKGhVC8Fh4aokTv-PfTF7AzmD4OxfB-9HACu4ak8GKT4SnUDFZ4BtvJ22qeLc_zJfAJqeOqUQ
openUrl ctx_ver=Z39.88-2004&ctx_enc=info%3Aofi%2Fenc%3AUTF-8&rfr_id=info%3Asid%2Fsummon.serialssolutions.com&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=proceeding&rft.title=2018+IEEE%2FACM+40th+International+Conference+on+Software+Engineering+%28ICSE%29&rft.atitle=Generalized+Data+Structure+Synthesis&rft.au=Loncaric%2C+Calvin&rft.au=Ernst%2C+Michael+D.&rft.au=Torlak%2C+Emina&rft.date=2018-05-01&rft.pub=ACM&rft.eissn=1558-1225&rft.spage=958&rft.epage=968&rft_id=info:doi/10.1145%2F3180155.3180211&rft.externalDocID=8453175
thumbnail_l http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=9781450356381/lc.gif&client=summon&freeimage=true
thumbnail_m http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=9781450356381/mc.gif&client=summon&freeimage=true
thumbnail_s http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=9781450356381/sc.gif&client=summon&freeimage=true