A Runtime Assertion Checker for the Java Modeling Language (JML)
Saved in:
| Title: | A Runtime Assertion Checker for the Java Modeling Language (JML) |
|---|---|
| Authors: | Cheon, Yoonsik, Leavens, Gary |
| Contributors: | Computer Science |
| Source: | archive/lib.dr.iastate.edu/cs_techreports/259/tr02_05a.pdf|||Fri Jan 14 22:59:42 UTC 2022 |
| Publication Year: | 2002 |
| Collection: | Digital Repository @ Iowa State University |
| Subject Terms: | Software Engineering, runtime assertion checking, formal methods, formal interface specification, programming by contract, JML language, Java language |
| Description: | Debugging is made difficult by the need to precisely describe what each piece of the software is supposed to do, and to write code to defend modules against the errors of other modules; if this is not done it is difficult to assign blame to a small part of the program when things go wrong. Similarly, unit testing also needs precise descriptions of behavior, and is made difficult by the need to write test oracles. However, debugging and testing consume a significant fraction of the cost of software development and maintenance efforts. Inadequate debugging and testing also contribute to quality problems. We describe a runtime assertion checker for the Java Modeling Language (JML) that helps in assigning blame during debugging and in automatic generation of test oracles. It represents a significant advance over the current state of the art, because it can deal with very abstract specifications which hide representation details, and other features such as quantifiers, and inheritance of specifications. Yet JML specifications have a syntax that is easily understood by programmers. Thus, JML's runtime assertion checker has the potential for decreasing the cost of debugging and testing. ; To appear in International Conference on Software Engineering Research and Practice (SERP) 2002, Las Vegas, Nevada, USA, June 24-27, 2002. Copyright © Computer Science Research, Education, and Application (CSREA) Press, 2002. |
| Document Type: | article in journal/newspaper |
| File Description: | application/pdf |
| Language: | unknown |
| Relation: | archive/lib.dr.iastate.edu/cs_techreports/259/; 1259; 5473697; cs_techreports/259; https://dr.lib.iastate.edu/handle/20.500.12876/20082 |
| Availability: | https://dr.lib.iastate.edu/handle/20.500.12876/20082 https://hdl.handle.net/20.500.12876/20082 |
| Accession Number: | edsbas.3A4B282C |
| Database: | BASE |
| Abstract: | Debugging is made difficult by the need to precisely describe what each piece of the software is supposed to do, and to write code to defend modules against the errors of other modules; if this is not done it is difficult to assign blame to a small part of the program when things go wrong. Similarly, unit testing also needs precise descriptions of behavior, and is made difficult by the need to write test oracles. However, debugging and testing consume a significant fraction of the cost of software development and maintenance efforts. Inadequate debugging and testing also contribute to quality problems. We describe a runtime assertion checker for the Java Modeling Language (JML) that helps in assigning blame during debugging and in automatic generation of test oracles. It represents a significant advance over the current state of the art, because it can deal with very abstract specifications which hide representation details, and other features such as quantifiers, and inheritance of specifications. Yet JML specifications have a syntax that is easily understood by programmers. Thus, JML's runtime assertion checker has the potential for decreasing the cost of debugging and testing. ; To appear in International Conference on Software Engineering Research and Practice (SERP) 2002, Las Vegas, Nevada, USA, June 24-27, 2002. Copyright © Computer Science Research, Education, and Application (CSREA) Press, 2002. |
|---|
Nájsť tento článok vo Web of Science