Though there exists ample support for Design by Contract (DbC) for sequential programs, applying DbC to concurrent programs presents several challenges. In previous work, we extended the Java Modeling Language (JML) with constructs to specify concurrent contracts for Java programs. We present a runtime assertion checker (RAC) for the expanded JML capable of verifying assertions for concurrent Java programs. We systematically evaluate the validity of system testing results obtained via runtime assertion checking using actual concurrent and functional faults on a highly concurrent industrial system from the telecommunications domain.

Additional Metadata
Keywords concurrency, design by contract, java, jml, object-oriented programming
Persistent URL dx.doi.org/10.1145/1985793.1985903
Conference 33rd International Conference on Software Engineering, ICSE 2011
Citation
Araujo, W. (Wladimir), Briand, L.C. (Lionel C.), & Labiche, Y. (2011). Enabling the runtime assertion checking of concurrent contracts for the Java modeling language. Presented at the 33rd International Conference on Software Engineering, ICSE 2011. doi:10.1145/1985793.1985903