A software tool called EXPLAINER has been developed for helping programmers perform new tasks by exploring previously worked-out examples. EXPLAINER is based on cognitive principl...
Applications are often designed to take advantage of the potential for integration with each other via shared information. Current approaches for integration are limited, affectin...
This paper introduces the concept of programming with sketches, an approach for the rapid development of high-performance applications. This approach allows a programmer to write ...
Armando Solar-Lezama, Rodric M. Rabbah, Rastislav ...
Programmers often have to perform change tasks that involve unfamiliar portions of a software system’s code base. To help inform the design of software development tools intende...
Jonathan Sillito, Kris De Volder, Brian Fisher, Ga...
Because software libraries are numerous and large, learning how to use them is a common and problematic task for experienced programmers and novices alike. Internet search engines...
Modern object-oriented languages have complex features that cause programmers to overspecify their programs. This overspecification hinders automatic optimizers, since they must ...
Interruptions are a daily reality for professional programmers. Unfortunately, the strategies programmers use to recover lost knowledge and resume work have not yet been well stud...
Source code search is an important activity for programmers working on a change task to a software system. As part of a larger project to improve tool support for finding informa...
Jadeite is a new Javadoc-like API documentation system that takes advantage of multiple users’ aggregate experience to reduce difficulties that programmers have learning new API...
Jeffrey Stylos, Andrew Faulring, Zizhuang Yang, Br...