The construction and maintenance of large and complex software systems depend on the existence of global principles describing the structure and the interaction among its various ...
Lightweight fault-localization techniques use program coverage to isolate the parts of the code that are most suspicious of being faulty. In this paper, we present the results of ...
Before performing a modification task, a developer usually has to investigate the source code of a system to understand how to carry out the task. Discovering the code relevant to...
This article presents a general algorithm for transforming sequential imperative programs into parallel data-flow programs. Our algorithm operates on a program dependence graph i...
This article describes a survey which aims to identify the relative importance of a set of factors that affect the motivation of software engineers at work. The conceptual underpi...