{"id":{"repo_id":"mit","oai_identifier":"oai:dspace.mit.edu:1721.1/57785"},"canonical_url":"https://search.dev.ndltd.org/etd/mit/oai:dspace.mit.edu:1721.1/57785","repository":{"repo_id":"mit","name":"MIT","base_url":"https://dspace.mit.edu/oai/request"},"display":{"title":"Reusing code by reasoning about its purpose","abstract":"When programmers face unfamiliar or challenging tasks, code written by others could give them inspiration or reusable pieces. But how can they find code appropriate for their goals? This thesis describes a programming interface, called Zones, that connects code with descriptions of purpose, encouraging annotation, sharing, and reuse of code. The backend, called ProcedureSpace, reasons jointly over both the words that people used to describe code fragments and syntactic features derived from static analysis of that code to enable searching for code given purpose descriptions or vice versa. It uses a technique called Bridge Blending to do joint inference across data of many types, including using domain-specific and commonsense background knowledge to help understand different ways of describing goals. Since Zones uses the same interface for searching as for annotating, users can leave searches around as annotations, even if the search fails, which helps the system learn from user interaction. This thesis describes the design, implementation, and evaluation of the Zones and ProcedureSpace system, showing that reasoning jointly over natural language and programming language helps programmers reuse code.","abstract_html":"When programmers face unfamiliar or challenging tasks, code written by others could give them inspiration or reusable pieces. But how can they find code appropriate for their goals? This thesis describes a programming interface, called Zones, that connects code with descriptions of purpose, encouraging annotation, sharing, and reuse of code. The backend, called ProcedureSpace, reasons jointly over both the words that people used to describe code fragments and syntactic features derived from static analysis of that code to enable searching for code given purpose descriptions or vice versa. It uses a technique called Bridge Blending to do joint inference across data of many types, including using domain-specific and commonsense background knowledge to help understand different ways of describing goals. Since Zones uses the same interface for searching as for annotating, users can leave searches around as annotations, even if the search fails, which helps the system learn from user interaction. This thesis describes the design, implementation, and evaluation of the Zones and ProcedureSpace system, showing that reasoning jointly over natural language and programming language helps programmers reuse code.","abstract_has_math":false,"creators":["Arnold, Kenneth Charles"],"institution":"Massachusetts Institute of Technology","degree_name":null,"degree_level":null,"degree_discipline":null,"degree_department":"Massachusetts Institute of Technology. Dept. of Architecture. Program in Media Arts and Sciences.","school":null,"contributors":[],"advisors":["Henry Lieberman."],"committee_chairs":[],"committee_members":[],"year":2010,"date_issued":"2010","date_published":"2010","updated_at":"2026-07-22T22:21:34Z","subjects":["Architecture. Program in Media Arts and Sciences."],"languages":["eng"],"rights":["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."],"rights_urls":["http://dspace.mit.edu/handle/1721.1/7582"],"identifier_entries":[]},"links":{"outbound_url":"http://hdl.handle.net/1721.1/57785","outbound_label":"Handle","outbound_source":"dc:identifier.uri"},"metadata_groups":[{"id":"people","label":"People","entries":[{"key":"dc:contributor.advisor","label":"Advisor","values":["Henry Lieberman."]},{"key":"dc:contributor.department","label":"Department","values":["Massachusetts Institute of Technology. Dept. of Architecture. Program in Media Arts and Sciences."]},{"key":"dc:contributor.other","label":"Dc Contributor Other","values":["Massachusetts Institute of Technology. Dept. of Architecture. Program in Media Arts and Sciences."]},{"key":"dc:creator","label":"Author","values":["Arnold, Kenneth Charles"]}]},{"id":"academic_context","label":"Academic Context","entries":[{"key":"dc:date.accessioned","label":"Dc Date Accessioned","values":["2010-08-31T14:40:41Z"]},{"key":"dc:date.available","label":"Dc Date Available","values":["2010-08-31T14:40:41Z"]},{"key":"dc:date.issued","label":"Date","values":["2010"]},{"key":"dc:publisher","label":"Institution","values":["Massachusetts Institute of Technology"]},{"key":"dc:type","label":"Dc Type","values":["Thesis"]}]},{"id":"subjects_keywords","label":"Subjects and Keywords","entries":[{"key":"dc:subject","label":"Dc Subject","values":["Architecture. Program in Media Arts and Sciences."]}]},{"id":"language_rights","label":"Language and Rights","entries":[{"key":"dc:language.iso","label":"Language (ISO)","values":["eng"]},{"key":"dc:rights","label":"Dc Rights","values":["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."]},{"key":"dc:rights.uri","label":"Rights URI","values":["http://dspace.mit.edu/handle/1721.1/7582"]}]},{"id":"identifiers","label":"Identifiers","entries":[{"key":"dc:identifier.uri","label":"Identifier URI","values":["http://hdl.handle.net/1721.1/57785"]}]},{"id":"additional","label":"Additional Metadata","entries":[{"key":"dc:description","label":"Description","values":["Thesis (S.M.)--Massachusetts Institute of Technology, School of Architecture and Planning, Program in Media Arts and Sciences, 2010.","Cataloged from PDF version of thesis.","Includes bibliographical references (p. 103-105)."]},{"key":"dc:description.abstract","label":"Abstract","values":["When programmers face unfamiliar or challenging tasks, code written by others could give them inspiration or reusable pieces. But how can they find code appropriate for their goals? This thesis describes a programming interface, called Zones, that connects code with descriptions of purpose, encouraging annotation, sharing, and reuse of code. The backend, called ProcedureSpace, reasons jointly over both the words that people used to describe code fragments and syntactic features derived from static analysis of that code to enable searching for code given purpose descriptions or vice versa. It uses a technique called Bridge Blending to do joint inference across data of many types, including using domain-specific and commonsense background knowledge to help understand different ways of describing goals. Since Zones uses the same interface for searching as for annotating, users can leave searches around as annotations, even if the search fails, which helps the system learn from user interaction. This thesis describes the design, implementation, and evaluation of the Zones and ProcedureSpace system, showing that reasoning jointly over natural language and programming language helps programmers reuse code."]},{"key":"dc:description.degree","label":"Dc Description Degree","values":["S.M."]},{"key":"dc:title","label":"Title","values":["Reusing code by reasoning about its purpose"]}]}],"canonical_facts":{"dc:contributor.advisor":["Henry Lieberman."],"dc:contributor.department":["Massachusetts Institute of Technology. Dept. of Architecture. Program in Media Arts and Sciences."],"dc:contributor.other":["Massachusetts Institute of Technology. Dept. of Architecture. Program in Media Arts and Sciences."],"dc:creator":["Arnold, Kenneth Charles"],"dc:date.accessioned":["2010-08-31T14:40:41Z"],"dc:date.available":["2010-08-31T14:40:41Z"],"dc:date.issued":["2010"],"dc:description":["Thesis (S.M.)--Massachusetts Institute of Technology, School of Architecture and Planning, Program in Media Arts and Sciences, 2010.","Cataloged from PDF version of thesis.","Includes bibliographical references (p. 103-105)."],"dc:description.abstract":["When programmers face unfamiliar or challenging tasks, code written by others could give them inspiration or reusable pieces. But how can they find code appropriate for their goals? This thesis describes a programming interface, called Zones, that connects code with descriptions of purpose, encouraging annotation, sharing, and reuse of code. The backend, called ProcedureSpace, reasons jointly over both the words that people used to describe code fragments and syntactic features derived from static analysis of that code to enable searching for code given purpose descriptions or vice versa. It uses a technique called Bridge Blending to do joint inference across data of many types, including using domain-specific and commonsense background knowledge to help understand different ways of describing goals. Since Zones uses the same interface for searching as for annotating, users can leave searches around as annotations, even if the search fails, which helps the system learn from user interaction. This thesis describes the design, implementation, and evaluation of the Zones and ProcedureSpace system, showing that reasoning jointly over natural language and programming language helps programmers reuse code."],"dc:description.degree":["S.M."],"dc:identifier.uri":["http://hdl.handle.net/1721.1/57785"],"dc:language.iso":["eng"],"dc:publisher":["Massachusetts Institute of Technology"],"dc:rights":["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."],"dc:rights.uri":["http://dspace.mit.edu/handle/1721.1/7582"],"dc:subject":["Architecture. Program in Media Arts and Sciences."],"dc:title":["Reusing code by reasoning about its purpose"],"dc:type":["Thesis"]},"updated_at":"2026-07-22T22:21:34Z"}