Since software is developed to run on computers, there is a tendency to focus computer science and software engineering on how best to get software to run on computers. But, engin...
Multiprocessors are now commonplace, and cloud computing is swiftly following suit. While it is possible to write high performance code for these systems, concurrency bugs are ext...
This research demonstration presents the tool, Dynamic Interactive Views for Reverse Engineering (Diver). Diver supports software understanding through a trace focused user interf...
Keeping requirements specification up-to-date during the evolution of a software system is an expensive task. Consequently, specifications are usually not updated and rapidly beco...
For `mixed-criticality' systems that have both critical and non-critical functions, the greatest leverage on dependability may be at the design level. By designing so that ea...