Model-based development is becoming an increasingly common development methodology. In important domains like embedded systems already major parts of the code are generated from m...
Debugging refers to the laborious process of finding causes of program failures. Often, such failures are introduced when a program undergoes changes and evolves from a stable ver...
The trend towards processors with more and more parallel cores is increasing the need for software that can take advantage of parallelism. The most widespread method for writing p...
Atomicity is an important specification that enables programmers to understand atomic blocks of code in a multi-threaded program as if they are sequential. This significantly simp...
Prior research in software environments focused on three important problems-- tool integration, artifact management, and process guidance. The context for that research, and hence...