The craft of software understanding and verification can benefit from technologies that enable evolution toward a true engineering discipline. In current practice, software develo...
Large software projects often require a programmer to make changes to unfamiliar source code. This paper presents the results of a formative observational study of seven professio...
Robert DeLine, Amir Khella, Mary Czerwinski, Georg...
To help programmers of high-performance computing (HPC) systems avoid communication-related errors, we employ a formal process algebra, Communicating Sequential Processes (CSP), w...
By obfuscation we mean any efficient semantic-preserving transformation of computer programs aimed at bringing a program into such a form, which impedes the understanding of its al...
: Object-oriented programs are difficult to optimize because they execute many dynamically-dispatched calls. These calls cannot easily be eliminated because the compiler does not k...