C├ęsar Kunz

Abstract. Aspect oriented programming (AOP) is a paradigm that offers a significant degree of modularity, allowing developers to separate cross-cutting aspects of a system from its main functionality. While this kind of programming modularity is appropriate to encapsulate concerns into single modules, namely aspects, program development may be highly error-prone due to the level of interference between aspects and the original code. Indeed, in order to take advantages of AOP modularity avoiding the harm of uncontrolled interference, verification techniques need to be developed. In this paper, we present a modular verification technique to certify that a program augmented by the introduction of aspects preserves its original specification. Furthermore we define a mechanism to transform certificates for correctness of AOP programs into certificates for compiled weaved code, in the spirit of proof carrying code architectures. This mechanism inherits the modularity of the verification technique and allows to build a certificate for an augmented code from the certificates of its components.

[ PDF ]