Non-null References by Default in the Java Modeling Language
Gespeichert in:
| Titel: | Non-null References by Default in the Java Modeling Language |
|---|---|
| Autoren: | Patrice Chalin, Frédéric Rioux |
| Weitere Verfasser: | The Pennsylvania State University CiteSeerX Archives |
| Quelle: | http://www.cs.iastate.edu/~leavens/SAVCBS/2005/papers/Chalin-Rioux.pdf. |
| Verlagsinformationen: | ACM Press |
| Publikationsjahr: | 2005 |
| Bestand: | CiteSeerX |
| Schlagwörter: | Documentation, Design, Languages, Theory, Verification. Keywords Contracts, Java Modeling Language, JML, reference types, nonnull references |
| Beschreibung: | Based on our experiences and those of our peers, we hypothesized that in Java code, the majority of declarations that are of reference types are meant to be non-null. Unfortunately, the Java Modeling Language (JML), like most interface specification and objectoriented programming languages, assumes that such declarations are possibly-null by default. As a consequence, developers need to write specifications that are more verbose than necessary in order to accurately document their module interfaces. In practice, this results in module interfaces being left incompletely and inaccurately specified. In this paper we present the results of a study that confirms our hypothesis. Hence, we propose an adaptation to JML that preserves its language design goals and that allows developers to specify that declarations of reference types are to be interpreted as non-null by default. We explain how this default is safer and results in less writing on the part of specifiers than null-by-default. The paper also reports on an implementation of the proposal in some of the JML tools. |
| Publikationsart: | text |
| Dateibeschreibung: | application/pdf |
| Sprache: | English |
| Relation: | http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.131.6019 |
| Verfügbarkeit: | http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.131.6019 http://www.cs.iastate.edu/~leavens/SAVCBS/2005/papers/Chalin-Rioux.pdf |
| Rights: | Metadata may be used without restrictions as long as the oai identifier remains attached to it. |
| Dokumentencode: | edsbas.DCF6F779 |
| Datenbank: | BASE |
| Abstract: | Based on our experiences and those of our peers, we hypothesized that in Java code, the majority of declarations that are of reference types are meant to be non-null. Unfortunately, the Java Modeling Language (JML), like most interface specification and objectoriented programming languages, assumes that such declarations are possibly-null by default. As a consequence, developers need to write specifications that are more verbose than necessary in order to accurately document their module interfaces. In practice, this results in module interfaces being left incompletely and inaccurately specified. In this paper we present the results of a study that confirms our hypothesis. Hence, we propose an adaptation to JML that preserves its language design goals and that allows developers to specify that declarations of reference types are to be interpreted as non-null by default. We explain how this default is safer and results in less writing on the part of specifiers than null-by-default. The paper also reports on an implementation of the proposal in some of the JML tools. |
|---|
Nájsť tento článok vo Web of Science