Synthesizing framework uses from program behavior data
Thesis (S.M.)--Massachusetts Institute of Technology, Dept. of Electrical Engineering and Computer Science, 2011.
Main Author: | |
---|---|
Other Authors: | |
Format: | Thesis |
Language: | eng |
Published: |
Massachusetts Institute of Technology
2011
|
Subjects: | |
Online Access: | http://hdl.handle.net/1721.1/66482 |
_version_ | 1811078787631153152 |
---|---|
author | Xu, Zhilei |
author2 | Armando Solar-Lezama. |
author_facet | Armando Solar-Lezama. Xu, Zhilei |
author_sort | Xu, Zhilei |
collection | MIT |
description | Thesis (S.M.)--Massachusetts Institute of Technology, Dept. of Electrical Engineering and Computer Science, 2011. |
first_indexed | 2024-09-23T11:05:29Z |
format | Thesis |
id | mit-1721.1/66482 |
institution | Massachusetts Institute of Technology |
language | eng |
last_indexed | 2024-09-23T11:05:29Z |
publishDate | 2011 |
publisher | Massachusetts Institute of Technology |
record_format | dspace |
spelling | mit-1721.1/664822019-04-11T04:57:18Z Synthesizing framework uses from program behavior data Xu, Zhilei Armando Solar-Lezama. Massachusetts Institute of Technology. Dept. of Electrical Engineering and Computer Science. Massachusetts Institute of Technology. Dept. of Electrical Engineering and Computer Science. Electrical Engineering and Computer Science. Thesis (S.M.)--Massachusetts Institute of Technology, Dept. of Electrical Engineering and Computer Science, 2011. Cataloged from PDF version of thesis. Includes bibliographical references (p. 42-43). This thesis presents MATCHMAKER, a new synthesis tool that aims to help programmers use software frameworks by synthesizing source code needed to interact with the framework. Software engineers of today are constantly faced with the task of using or extending large software code bases. This proves to be a challenging endeavor, as object-oriented frameworks tend to grow exceedingly intricate. Functionality is spread out among numerous classes and tailoring it for a specific need requires knowledge of exact components to extend and combine. MATCHMAKER is presented to help programmers understand such complex behavior, especially, to help deal with one common task in using frameworks: connecting two classes so that they can interact with each other. Taking as input two classes that the programmer want to connect, MATCHMAKER observes many real runs of the framework, aggregates relevant execution traces in which similar connections are built by client-framework interactions, and synthesizes the necessary source code the user needs to write to make the connection possible. MATCHMAKER relies on the hypothesis that the logical connection between two objects is fulfilled by a chain of pointer references linking them together, and the earliest possible pointer reference chain (called Critical Chain) is critical to the logical connection. MATCHMAKER employs a new program behavior data engine (called DELIGHT) to find the critical chain, uses a special slicing algorithm to dig out the relevant instructions which form the client-framework protocol from the critical chain, and synthesize the client code from the slices. In this thesis we also demonstrate MATCHMAKER's capability on a range of programming tasks using complex software frameworks such as Eclipse, and evaluate MATCHMAKER's usability and its improvement to programming efficiency by comprehensive user study. by Zhilei Xu. S.M. 2011-10-17T21:31:36Z 2011-10-17T21:31:36Z 2011 2011 Thesis http://hdl.handle.net/1721.1/66482 756463975 eng M.I.T. theses are protected by copyright. They may be viewed from this source for any purpose, but reproduction or distribution in any format is prohibited without written permission. See provided URL for inquiries about permission. http://dspace.mit.edu/handle/1721.1/7582 43 p. application/pdf Massachusetts Institute of Technology |
spellingShingle | Electrical Engineering and Computer Science. Xu, Zhilei Synthesizing framework uses from program behavior data |
title | Synthesizing framework uses from program behavior data |
title_full | Synthesizing framework uses from program behavior data |
title_fullStr | Synthesizing framework uses from program behavior data |
title_full_unstemmed | Synthesizing framework uses from program behavior data |
title_short | Synthesizing framework uses from program behavior data |
title_sort | synthesizing framework uses from program behavior data |
topic | Electrical Engineering and Computer Science. |
url | http://hdl.handle.net/1721.1/66482 |
work_keys_str_mv | AT xuzhilei synthesizingframeworkusesfromprogrambehaviordata |