Program Understanding through Cliché Recognition

We propose research into automatic program understanding via recognition of common data structures and algorithms (clichés). Our goals are two-fold: first, to develop a theory of program structure which makes such recognition tractable; and second, to produce a program (named Inspector) which, given...

Full description

Bibliographic Details
Main Author: Brotsky, Daniel
Format: Working Paper
Language:en_US
Published: MIT Artificial Intelligence Laboratory 2008
Online Access:http://hdl.handle.net/1721.1/41167
_version_ 1826191281562320896
author Brotsky, Daniel
author_facet Brotsky, Daniel
author_sort Brotsky, Daniel
collection MIT
description We propose research into automatic program understanding via recognition of common data structures and algorithms (clichés). Our goals are two-fold: first, to develop a theory of program structure which makes such recognition tractable; and second, to produce a program (named Inspector) which, given a Lisp program and a library of clichés, will construct a hierarchical decomposition of the program in terms of the clichés it uses. Our approach involves assuming constraints on the possible decompositions of programs according to the teleological relations between their parts. Programs are analyzed by translating them into a language-independent form and then parsing this representation in accordance with a context-free web grammar induced by the library of clichés. Decompositions produced by this analysis will in general be partial, since most programs will not be made up entirely of clichés. This work is motivated by the belief that identification of clichés used in program, together with knowledge of their properties, provides a sufficient basis for understanding large parts of that program's behavior. Inspector will become one component of a system of programs known as a programmer's apprentice, in which Inspector's output will be used to assist a programmer with program synthesis, debugging, and maintenance.
first_indexed 2024-09-23T08:53:26Z
format Working Paper
id mit-1721.1/41167
institution Massachusetts Institute of Technology
language en_US
last_indexed 2024-09-23T08:53:26Z
publishDate 2008
publisher MIT Artificial Intelligence Laboratory
record_format dspace
spelling mit-1721.1/411672019-04-10T19:34:53Z Program Understanding through Cliché Recognition Brotsky, Daniel We propose research into automatic program understanding via recognition of common data structures and algorithms (clichés). Our goals are two-fold: first, to develop a theory of program structure which makes such recognition tractable; and second, to produce a program (named Inspector) which, given a Lisp program and a library of clichés, will construct a hierarchical decomposition of the program in terms of the clichés it uses. Our approach involves assuming constraints on the possible decompositions of programs according to the teleological relations between their parts. Programs are analyzed by translating them into a language-independent form and then parsing this representation in accordance with a context-free web grammar induced by the library of clichés. Decompositions produced by this analysis will in general be partial, since most programs will not be made up entirely of clichés. This work is motivated by the belief that identification of clichés used in program, together with knowledge of their properties, provides a sufficient basis for understanding large parts of that program's behavior. Inspector will become one component of a system of programs known as a programmer's apprentice, in which Inspector's output will be used to assist a programmer with program synthesis, debugging, and maintenance. MIT Artificial Intelligence Laboratory 2008-04-14T15:01:20Z 2008-04-14T15:01:20Z 1981-12 Working Paper http://hdl.handle.net/1721.1/41167 en_US MIT Artificial Intelligence Laboratory Working Papers, WP-224 application/pdf MIT Artificial Intelligence Laboratory
spellingShingle Brotsky, Daniel
Program Understanding through Cliché Recognition
title Program Understanding through Cliché Recognition
title_full Program Understanding through Cliché Recognition
title_fullStr Program Understanding through Cliché Recognition
title_full_unstemmed Program Understanding through Cliché Recognition
title_short Program Understanding through Cliché Recognition
title_sort program understanding through cliche recognition
url http://hdl.handle.net/1721.1/41167
work_keys_str_mv AT brotskydaniel programunderstandingthroughclicherecognition