Concurrent programming languages are growing in importance with the advent of multi-core systems. However, concurrent programs suffer from problems, such as data races and deadloc...
Decompiling low-level code to a high-level intermediate representation facilitates the development of analyzers, model checkers, etc. which reason about properties of the low-leve...
In order to build complex, large-scale, dependable systems it is necessary to use a development environment with an integrated set of capabilities that supports editing and formal...
Lian Wen, Robert Colvin, Kai Lin, John Seagrott, N...
Abstract. Interaction protocols are a popular means to construct correct component-based systems. Aspects that modify such protocols are interesting in this context because they su...
Objects often define usage protocols that clients must follow in order for these objects to work properly. Aliasing makes it notoriously difficult to check whether clients and i...