We describe a program called SketchIT that transforms a single sketch of a mechanical device into multiple families of new designs. It represents each of these families with a &qu...
Thomas F. Stahovich, Randall Davis, Howard E. Shro...
Inheritance is an important mechanism when developing object-oriented programs with class-based programming languages: it enables subtyping, polymorphism, and code reuse. Inherita...
An often-mentioned advantage of rule-based programming languages is that a program can be extended simply by adding a few more rules. In practice however, the rules tend to be dep...
—When a program is modified during software evolution, developers typically run the new version of the program against its existing test suite to validate that the changes made ...
Modularity is a central theme in any scalable program analysis. The core idea in a modular analysis is to build summaries at procedure boundaries, and use the summary of a procedu...
Aws Albarghouthi, Rahul Kumar, Aditya V. Nori, Sri...