Abstract—Atomicity, a general correctness criterion in concurrency programs, is often violated in real-world applications. The violations are difficult for developers to fix, m...
Design changes are frequently encountered in the product development process. The complexity of the design changes is multiplied when the product design involves multiple engineer...
The large gap in the levels at which requirements are specified results in inadequate means for ensuring that business goals are properly supported. Architecture-level requirement...
Designing complex simulation models is a task essentially associated with software engineering. In this paper, the Unified Modeling Language (UML) is used to specify simulation mo...
In this paper we propose a communication-centric approach to specifying and checking how multithreaded programs use shared memory to perform inter-thread communication. Our approa...
Benjamin P. Wood, Adrian Sampson, Luis Ceze, Dan G...