In safety-critical and high-reliability systems, software development and maintenance are costly endeavors. The cost can be reduced if software errors can be identified through au...
Designing component-based application that meets performance requirements remains a challenging problem, and usually requires a prototype to be constructed to benchmark performanc...
Atomicity is a key correctness specification for multithreaded programs. Prior dynamic atomicity analyses include precise tools, which report an error if and only if the observed...
Many end user programming tools lack adequate support for domain-specific data. We will design a lightweight representation for categories of data, called “topes,” and develop...
The need for organizational learning support is common among all software development companies but is not addressed by agile software methods practitioners. The typical Experience...