Type checking and type inference are important concepts and methods of programming languages and software engineering. Type checking is a way to ensure some level of consistency, d...
Abstract. Architectural description languages are a useful tool for modmplex software systems at a high level of abstraction and, if based on formal methods, for enabling the early...
Abstract. [Context and motivation] Ever-growing systems’ complexity and novel requirements engineering approaches such as reuse or globalization imply that requirements are produ...
The design of concurrent programs is error-prone due to the interaction between concurrently executing threads. Traditional automated techniques for finding errors in concurrent ...
This paper presents techniques for analyzing channel contract specifications in Microsoft Research’s Singularity operating system. A channel contract is a state machine that sp...