Well-defined memory consistency models are necessary for writing correct parallel software. Developing and understanding formal specifications of hardware memory models is a chal...
Within a large, object-oriented software system it is common to partition the classes into a set of packages, which implicitly serve as a set of coarsely-grained logical design un...
Many reverse engineering approaches have been developed to analyze software systems written in different languages like C/C++ or Java. These approaches typically rely on a meta-mo...
Automated static analysis is a promising technique to detect defects in software. However, although considerable effort has been spent for developing sophisticated detection possi...
Stefan Wagner, Florian Deissenboeck, Michael Aichn...
When developing concurrent software, a proper engineering practice is to choose a good level of abstraction for expressing concurrency control. Ideally, this level should provide p...
Claude Kaiser, Christophe Pajault, Jean-Fran&ccedi...