Skip to main content

Real-World Types and Their Application

  • Conference paper
  • First Online:
Computer Safety, Reliability, and Security (SAFECOMP 2014)

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 9337))

Included in the following conference series:

Abstract

Software systems sense and affect real world objects and processes in order to realize important real-world systems. For these systems to function correctly, such software should obey constraints inherited from the real world. Typically, neither important characteristics of real-world entities nor the relationships between such entities and their machine-world representations are specified explicitly in code, and important opportunities for detecting errors due to mismatches are lost. To address this problem we introduce real-world types to document in software both relevant characteristics of real-world entities and the relationships between real-world entities and machine-level representations. These constructs support specification and automated static detection of such mismatches in programs written in ordinary languages. We present a prototype implementation of our approach for Java and case studies in which previously unrecognized real-world type errors in several real systems were detected.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

References

  1. Mars Climate Orbiter Mishap Investigation Board Phase I Report. National Aeronautics and Space Administration, Washington DC (1999)

    Google Scholar 

  2. Bergin, C. Harding, P.: Cygnus Delays ISS Berthing Following GPS Discrepancy. http://www.nasaspaceflight.com/2013/09/cygnus-cots-graduation-iss-berthing/

  3. Antoniu, T., Steckler, P.A., Krishnamurthi, S., Neuwirth, E., Felleisen, M.: Validating the unit correctness of spreadsheet programs. In: 26th International Conference on Software Engineering, pp. 439–448. IEEE Press, New York (2004)

    Google Scholar 

  4. Grein, C., Kazakov, D.A., Wilson, D.B.: A survey of physical unit handling techniques in ada. In: Rosen, J.-P., Strohmeier, A. (eds.) Ada-Europe 2003. LNCS, vol. 2655, pp. 258–270. Springer, Heidelberg (2003)

    Chapter  Google Scholar 

  5. Kennedy, A.: Dimension types. In: 5th European Symposium on Programming, pp. 348–362. ACM Press, New York (1994)

    Google Scholar 

  6. International System of Units. National Institution of Standards Technology, Washington, DC

    Google Scholar 

  7. Kelpie Flight Planner for Flightgear. http://sourceforge.net/projects/fgflightplanner/

  8. FlightGear. http://www.flightgear.org/

  9. International Association of Geomagnetism and Aeronomy: International geomagnetic reference field: the eleventh generation. Geophys. J. Int. 183(3), 1216–1230 (2010)

    Article  Google Scholar 

  10. World Magnetic Model. http://www.ngdc.noaa.gov/geomag/WMM/DoDWMM.shtml

  11. OpenMap. https://code.google.com/p/openmap/

  12. Geoconvertor. https://code.google.com/p/geoconvertor/

  13. Gunter, C.A., Gunter, E.L., Jackson, M., Zave, P.: A reference model for requirements and specifications. IEEE Softw. 17(3), 37–43 (2000)

    Article  Google Scholar 

  14. Jackson, M., Zave, P.: Deriving specifications from requirements: an example. In: 17th International Conference on Software Engineering, pp. 15–24. ACM, New York (1995)

    Google Scholar 

  15. Miller, S.P., Tribble, A.C.: Extending the four-variable model to bridge the system-software gap. In: 20th Digital Avionics System Conference, pp. 1–5. IEEE Press, New York (2001)

    Google Scholar 

  16. Parnas, D.L., Madey, L.: Functional documents for computer systems. Sci. Comput. Program. 25(1), 41–61 (1995)

    Article  Google Scholar 

  17. Papi, M., Ali, M., Correr, Jr., T.L., Perkins, J.H., Ernst, M.D.: Practical pluggable types for Java. In: SIGSOFT International Symposium on Software Testing and Analysis, pp. 201–212. ACM Press, New York (2008)

    Google Scholar 

  18. Markstrum, S., Marino, D., Esquivel, M., Millstein, T., Andreae, C., Noble, J.: JavaCOP: declarative pluggable types for java. ACM Trans. Program. Lang. Syst. 32(2), 41–437 (2010)

    Article  Google Scholar 

  19. Dietl, W., Dietzel, S., Ernst, M.D., Muşlu, K., Schiller, T.W.: Building and using pluggable type-checkers. In: 33rd International Conference on Software Engineering, pp. 681–690. ACM, New York (2011)

    Google Scholar 

  20. Ait-Ameur, Y., Gibson, J.P., Méry, D.: On implicit and explicit semantics: integration issues in proof-based development of systems. In: Margaria, T., Steffen, B. (eds.) ISoLA 2014, Part II. LNCS, vol. 8803, pp. 604–618. Springer, Heidelberg (2014)

    Google Scholar 

  21. Chen, F., Rosu, G., Venkatesan, R.P.: Rule-based analysis of dimensional safety. In: Nieuwenhuis, R. (ed.) RTA 2003. LNCS, vol. 2706, pp. 197–207. Springer, Heidelberg (2003)

    Chapter  Google Scholar 

  22. Jiang, L., Su, Z.: Osprey: a practical type system for validating dimensional unit correctness of C programs. In: 28th International Conference on Software Engineering, pp. 262–271. ACM, New York (2006)

    Google Scholar 

  23. Ratiu, D., Deissenboeck, F.: From reality to programs and (not quite) back again. In: 15th IEEE International Conference on Program Comprehension, pp. 91–102. IEEE Press, New York (2007)

    Google Scholar 

Download references

Acknowledgements

This work was supported in part by Dependable Computing LLC, in part by the National Science Foundation grant number 1400294, and in part by the U.S. Department of Defense under Contract H98230-08-D- 0171. Any opinions, findings and conclusions or recommendations are those of the authors and do not necessarily reflect the views of the United States Department of Defense.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to John Knight .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2015 Springer International Publishing Switzerland

About this paper

Cite this paper

Xiang, J., Knight, J., Sullivan, K. (2015). Real-World Types and Their Application. In: Koornneef, F., van Gulijk, C. (eds) Computer Safety, Reliability, and Security. SAFECOMP 2014. Lecture Notes in Computer Science(), vol 9337. Springer, Cham. https://doi.org/10.1007/978-3-319-24255-2_34

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-24255-2_34

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-24254-5

  • Online ISBN: 978-3-319-24255-2

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics