As software systems grow in size and use more third-party libraries and frameworks, the need for developers to understand unfamiliar large codebases is rapidly increasing. In this...
Maintaining a developer's awareness of changes in the software on which she depends is challenging. Awareness is often impeded at two ends of the spectrum: a lack of informat...
Building a configuration management (CM) system is a difficult endeavor that regularly requires tens of thousands of lines of code to be written. To reduce this effort, several ex...
Designing and constructing Real-Time Distributed Industrial Vision Systems (RT-DIVS) from scratch is very complicated task. RT-DIVS has Conflicting requirements such as reasonable...
We present work that explores whether the asynchronous peer-topeer communication capabilities of email can be made accessible to illiterate populations in the developing world. Bu...