7 research outputs found

    Evolutionary Programming with the Aid of A Programmers' Apprentice

    Get PDF
    This report describes research done at the Artificial Intelligence Laboratory of the Massachusetts Institute of Technology. Support for the laboratory's artificial intelligence research is provided in part by the Office of Naval Research of the Department of Defense under Contract N00014-75-C-0522.MIT Artificial Intelligence Laboratory Department of Defense Office of Naval Researc

    A Step Towards Automatic Documentation

    Get PDF
    *Visiting Scientist on leave from Schlumberger-Doll Research. The views and conclusions contained in this paper are those of the author, and should not be interpreted as necessarily representing the official policies, either expressed or implied, of the Department of Defense, or the United States Government.This paper describes a system which automatically generates program documentation. Starting with a plan generated by analyzing the program, the system computes several kinds of summary information about the program. The most notable are: a summary of the cliched computations performed by the loops in the program, and a summary of the types and uses of the arguments to the program. Based on this information, a few English sentences are produced describing each function analysed.MIT Artificial Intelligence Laborator

    Towards a Programmer’s Apprentice (Again)

    Get PDF
    Programmers are loathe to interrupt their workflow to document their design rationale, leading to frequent errors when software is modified—often much later and by different programmers. A Pro- grammer’s Assistant could interact with the programmer to capture and preserve design rationale, in a natural way that would make rationale capture “cost less than it’s worth”, and could also detect common flaws in program design. Such a programmer’s assistant was not practical when it was first proposed decades ago, but advances over the years make now the time to revisit the concept, as our prototype shows.This work was supported by the Center for Brains, Minds and Machines (CBMM), funded by NSF STC award CCF-1231216

    Program Understanding through Cliché Recognition

    Get PDF
    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 Laborator

    Proposal For a Study of Commonsense Physical Reasoning

    Get PDF
    This report describes research done at the Artificial Intelligence Laboratory of the Massachusetts Institute of Technology. Support for the laboratory's artificial intelligence research is provided in part by the Advanced Research Projects Agency of the Department of Defense under Office of Naval Research contract N00014-80-C-0505.Our common sense views of physics are the first coin in our intellectual capital; understanding precisely what they contain could be very important both for understanding ourselves and for making machines more like us. This proposal describes a domain that has been designed for studying reasoning about constrained motion and describes my theories about performing such reasoning. The issues examined include qualitative reasoning about shape and physical processes, as well as ways of using knowledge about motion other than "envisioning". Being a proposal, the treatment of these issues is necessarily cursory and incomplete.MIT Artificial Intelligence Laboratory Department of Defense Advanced Research Projects Agenc

    Computer Aided Evolutionary Design for Software Engineering

    No full text
    We report on a partially implemented interactive computer aided design tool for software engineering. A distinguishing characteristic of our project is its concern for the evolutionary character of software systems. Our project draws a distinction between algorithms and systems, centering on its attention on support for the system designer. Although verification has played a large role in recent research, our perspective suggests that the complexity and evolutionary nature of software systems requires a number of additional techniques, which are described in this paper

    Computer aided evolutionary design for software engineering

    No full text
    corecore