Learn More
Code artefacts that have non-trivial requirements with respect to the ordering in which their methods or procedures ought to be called are common and appear, for instance, in the form of API implementations and objects. This work addresses the problem of validating if API implementations provide their intended behaviour when descriptions of this behaviour(More)
Pre/post condition-based specifications are common-place in a variety of software engineering activities that range from requirements through to design and implementation. The fragmented nature of these specifications can hinder validation as it is difficult to understand if the specifications for the various operations fit together well. In this paper we(More)
The logic core of Distributed Knowledge Authorization Logic, DKAL, is constructive logic with a quotation construct said. This logic is known as the logic of infons. The primal fragment of infon logic is amenable to linear time decision algorithms when policies and queries are ground. In the presence of policies with variables and implicit universal(More)
In this work we present <b>Contractor.NET</b>, a Visual Studio extension that supports the construction of contract specifications with typestate information which can be used for verification of client code. <b>Contractor.NET</b> uses and extends <b>Code Contracts</b> to provide stronger contract specifications. It features a two step process. First, a(More)
Automated software verification is a very active field of research which has made enormous progress both in theoretical and practical aspects. Recently, an important amount of research effort has been put into applying these techniques on top of mainstream programming languages. These languages typically provide powerful features such as reflection,(More)
Code artifacts that have nontrivial requirements with respect to the ordering in which their methods or procedures ought to be called are common and appear, for instance, in the form of API implementations and objects. This work addresses the problem of validating if API implementations provide their intended behavior when descriptions of this behavior are(More)
This technical report is an extended version of our submission to the CPP 2012 conference. It contains more detailed explanations and more examples, as well as an explicit proof of theorem 4 in the appendix. Abstract—Many prior trust management frameworks provide authorization logics for specifying policies based on distributed trust. However, to implement(More)
—Many prior trust management frameworks provide authorization logics for specifying policies based on distributed trust. However, to implement a security protocol using these frameworks, one usually resorts to a general-purpose programming language. When reasoning about the security of the entire system, one must study both policies in the authorization(More)