Search
Now showing items 1-8 of 8
Abstraction, Inspection and Debugging in Programming
(1981-06-01)
We believe that software engineering has much to learn from other mature engineering disciplines, such as electrical engineering, and that the problem solving behaviors of engineers in different disciplines have many ...
The Programmer's Apprentice Project: A Research Overview
(1987-11-01)
The goal of the Programmer's Apprentice project is to develop a theory of how expert programmers analyze, synthesize, modify, explain, specify, verify, and document programs. This research goal overlaps both artificial ...
Toward a Requirements Apprentice: On the Boundary Between Informal and Formal Specifications
(1986-07-01)
Requirements acquisition is one of the most important and least well supported parts of the software development process. The Requirements Apprentice (RA) will assist a human analyst in the creation and modification ...
Formalizing Reusable Software Components in the Programmer's Apprentice
(1987-02-01)
There has been a long-standing desire in computer science for a way of collecting and using libraries of standard software components. The limited success in actually doing this stems not from any resistance to the ...
The Disciplined Use of Simplifying Assumptions
(MIT Artificial Intelligence Laboratory, 1981-12)
Simplifying assumptions — everyone uses them but no one's programming tool explicitly supports them. In programming, as in other kinds of engineering design, simplifying assumptions are an important method for dealing with ...
Intelligent Assistance for Program Recognition, Design, Optimization, and Debugging
(1989-01-01)
A recognition assistant will help reconstruct the design of a program, given only its source code. A design assistant will assist a programmer by detecting errors and inconsistencies in his design choices and by ...
The Programmer's Apprentice: A Program Design Scenario
(1987-11-01)
A scenario is used to illustrate the capabilities of a proposed Design Apprentice, focussing on the area of detailed, low-level design. Given a specification, the Design Apprentice will be able to make many of the ...
Formalizing Reusable Software Components
(MIT Artificial Intelligence Laboratory, 1983-07)
There has been a long-standing desire in computer science for a way of collecting and using libraries of standard software components. Unfortunately, there has been only limited success in actually doing this. We believe ...