TY - GEN
T1 - Concurrent contracts for java in JML
AU - Araujo, Wladimir
AU - Briand, Lionel
AU - Labiche, Yvan
PY - 2008
Y1 - 2008
N2 - Design by Contract (DbC) is a software development methodology that makes use of assertions to produce better quality object-oriented software. The idea behind DbC is that a method defines a contract stating the requirements a client needs to fulfill to use it, the precondition, and the properties it ensures after its execution, the postcondition. Though there exists ample support for DbC for sequential programs, applying DbC to concurrent programs presents several challenges. The first challenge is interference, the product of multiple threads of execution modifying and accessing shared data. The second is the specification of thread-safety properties in the presence of inheritance. We present a solution to these challenges in the context of Java programs by extending the Java Modeling Language (JML) specification language. We experiment our solution on a large size industrial software system.
AB - Design by Contract (DbC) is a software development methodology that makes use of assertions to produce better quality object-oriented software. The idea behind DbC is that a method defines a contract stating the requirements a client needs to fulfill to use it, the precondition, and the properties it ensures after its execution, the postcondition. Though there exists ample support for DbC for sequential programs, applying DbC to concurrent programs presents several challenges. The first challenge is interference, the product of multiple threads of execution modifying and accessing shared data. The second is the specification of thread-safety properties in the presence of inheritance. We present a solution to these challenges in the context of Java programs by extending the Java Modeling Language (JML) specification language. We experiment our solution on a large size industrial software system.
UR - http://www.scopus.com/inward/record.url?scp=67249114451&partnerID=8YFLogxK
U2 - 10.1109/ISSRE.2008.9
DO - 10.1109/ISSRE.2008.9
M3 - Conference contribution
AN - SCOPUS:67249114451
SN - 9780769534053
T3 - Proceedings - International Symposium on Software Reliability Engineering, ISSRE
SP - 37
EP - 46
BT - Proceedings - 19th International Symposium on Software Reliability Engineering, ISSRE 2008
T2 - 19th International Symposium on Software Reliability Engineering, ISSRE 2008
Y2 - 10 November 2008 through 14 November 2008
ER -