INES - National Institute of Science and Technology for Software Engineering

RSS feed


September 2017
« Nov    

  • INES at the 13th FTfJP workshop

    Publicado em June 30th, 2011Expenses, Publications

    INES researchers will be presenting a paper at the 13th workshop on Formal Techniques for Java-Like Programs. This workshop is part of ECOOP’2011 and is one of the main forums for discussing ideas about new techniques for the design, implementation, and evolution of Java programs that rely on a rigorous foundation. This year, FTfJP will be held in Lancaster, United Kingdom. INES will cover the expenses with registration at the workshop for one of the authors.

    More information about the workshop is available at

    Publication details are as follows:

    Title: On the Interplay of Exception Handling and Design by Contract: An Aspect-Oriented Recovery Approach

    Authors: Henrique Rebêlo, Roberta Coelho, Ricardo Lima, Gary T. Leavens, Marieke Huisman, Alexandre Mota, Fernando Castor


    Design by Contract (DbC) is a technique for developing and improving functional software correctness through definition of “contracts” between client classes and their suppliers. Such contracts are enforced during runtime and if any of them is violated a runtime error should occur. Runtime assertions checkers (RACs) are a well-known technique that enforces such contracts. Although they are largely used to implement the DbC technique in contemporary languages, like Java, studies have shown that characteristics of contemporary exception handling mechanisms can discard contract violations detected by RACs. As a result, a contract violation may not be reflected in a runtime error, breaking the supporting hypothesis of DbC. This paper presents an error recovery technique for RACs that tackles such limitations. This technique relies on aspect-oriented programming in order to extend the functionalities of existing RACs stopping contract violations from being discarded. We applied the recovery technique on top of five Java-based contemporary RACs (i.e., JML/jml, JML/a jml, JContractor, CEAP, and Jose). Preliminary results have shown that the proposed technique could actually prevent the contract violations from being discarded regardless of the characteristics of the exception handling code of the target application.

    , , ,