Data-driven synthesis for object-oriented frameworks
Software construction today often involves the use of large frameworks. The challenge in this type of programming is that object-oriented frameworks tend to grow exceedingly intricate; they spread functionality among numerous classes, and any use of the framework requires knowledge of many interacti...
Main Authors: | , , |
---|---|
Other Authors: | |
Format: | Article |
Language: | en_US |
Published: |
Association for Computing Machinery (ACM)
2012
|
Online Access: | http://hdl.handle.net/1721.1/72666 https://orcid.org/0000-0001-5959-5254 https://orcid.org/0000-0001-7604-8252 https://orcid.org/0000-0002-6931-2278 |
_version_ | 1826188795536474112 |
---|---|
author | Yessenov, Kuat T. Xu, Zhilei Solar-Lezama, Armando |
author2 | Massachusetts Institute of Technology. Department of Electrical Engineering and Computer Science |
author_facet | Massachusetts Institute of Technology. Department of Electrical Engineering and Computer Science Yessenov, Kuat T. Xu, Zhilei Solar-Lezama, Armando |
author_sort | Yessenov, Kuat T. |
collection | MIT |
description | Software construction today often involves the use of large frameworks. The challenge in this type of programming is that object-oriented frameworks tend to grow exceedingly intricate; they spread functionality among numerous classes, and any use of the framework requires knowledge of many interacting components. We present a system named MATCHMAKER that from a simple query synthesizes code that interacts with the framework. The query consists of names of two framework classes, and our system produces code enabling interaction between them. MATCHMAKER relies on a database of dynamic program traces called DELIGHT that uses novel abstraction-based indexing techniques to answer queries about the evolution of heap connectivity in a matter of seconds.
The paper evaluates the performance and effectiveness of MATCHMAKER on a number of benchmarks from the Eclipse framework. The paper also presents the results of a user study that showed a 49% average productivity improvement from the use of our tool. |
first_indexed | 2024-09-23T08:04:49Z |
format | Article |
id | mit-1721.1/72666 |
institution | Massachusetts Institute of Technology |
language | en_US |
last_indexed | 2024-09-23T08:04:49Z |
publishDate | 2012 |
publisher | Association for Computing Machinery (ACM) |
record_format | dspace |
spelling | mit-1721.1/726662022-09-30T07:20:28Z Data-driven synthesis for object-oriented frameworks Yessenov, Kuat T. Xu, Zhilei Solar-Lezama, Armando Massachusetts Institute of Technology. Department of Electrical Engineering and Computer Science Yessenov, Kuat T. Xu, Zhilei Solar-Lezama, Armando Software construction today often involves the use of large frameworks. The challenge in this type of programming is that object-oriented frameworks tend to grow exceedingly intricate; they spread functionality among numerous classes, and any use of the framework requires knowledge of many interacting components. We present a system named MATCHMAKER that from a simple query synthesizes code that interacts with the framework. The query consists of names of two framework classes, and our system produces code enabling interaction between them. MATCHMAKER relies on a database of dynamic program traces called DELIGHT that uses novel abstraction-based indexing techniques to answer queries about the evolution of heap connectivity in a matter of seconds. The paper evaluates the performance and effectiveness of MATCHMAKER on a number of benchmarks from the Eclipse framework. The paper also presents the results of a user study that showed a 49% average productivity improvement from the use of our tool. National Science Foundation (U.S.). (Grant number CCF-1049406) Massachusetts Institute of Technology. Computer Science and Artificial Intelligence Laboratory 2012-09-12T17:54:01Z 2012-09-12T17:54:01Z 2011-10 Article http://purl.org/eprint/type/ConferencePaper 978-1-4503-0940-0 http://hdl.handle.net/1721.1/72666 Kuat Yessenov, Zhilei Xu, and Armando Solar-Lezama. 2011. Data-driven synthesis for object-oriented frameworks. SIGPLAN Not. 46, 10 (October 2011), 65-82. https://orcid.org/0000-0001-5959-5254 https://orcid.org/0000-0001-7604-8252 https://orcid.org/0000-0002-6931-2278 en_US http://dx.doi.org/10.1145/2048066.2048075 Proceedings of the 2011 ACM International Conference on Object Oriented Programming Systems Languages and Applications (OOPSLA '11) Creative Commons Attribution-Noncommercial-Share Alike 3.0 http://creativecommons.org/licenses/by-nc-sa/3.0/ application/pdf Association for Computing Machinery (ACM) MIT web domain |
spellingShingle | Yessenov, Kuat T. Xu, Zhilei Solar-Lezama, Armando Data-driven synthesis for object-oriented frameworks |
title | Data-driven synthesis for object-oriented frameworks |
title_full | Data-driven synthesis for object-oriented frameworks |
title_fullStr | Data-driven synthesis for object-oriented frameworks |
title_full_unstemmed | Data-driven synthesis for object-oriented frameworks |
title_short | Data-driven synthesis for object-oriented frameworks |
title_sort | data driven synthesis for object oriented frameworks |
url | http://hdl.handle.net/1721.1/72666 https://orcid.org/0000-0001-5959-5254 https://orcid.org/0000-0001-7604-8252 https://orcid.org/0000-0002-6931-2278 |
work_keys_str_mv | AT yessenovkuatt datadrivensynthesisforobjectorientedframeworks AT xuzhilei datadrivensynthesisforobjectorientedframeworks AT solarlezamaarmando datadrivensynthesisforobjectorientedframeworks |