Skip to main content

SCJ: Memory-Safety Checking without Annotations

  • Conference paper
FM 2014: Formal Methods (FM 2014)

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

Included in the following conference series:

Abstract

The development of Safety-Critical Java (SCJ) has introduced a novel programming paradigm designed specifically to make Java applicable to safety-critical systems. Unlike in a Java program, memory management is an important concern under the control of the programmer in SCJ. It is, therefore, not possible to apply tools and techniques for Java programs to SCJ. We describe a new technique that uses an abstract language and inference rules to guarantee memory safety. Our approach does not require user-added annotations and automatically checks programs at the source-code level, although it can give false negatives.

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 84.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 109.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

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. The Open Group: SCJ technology specification (v0.94). Technical report (2013)

    Google Scholar 

  2. Bollella, G., Gosling, J.: The Real-Time Specification for Java. Computer 33, 47–54 (2000)

    Article  Google Scholar 

  3. Burns, A.: The ravenscar profile. ACM SIGAda Ada Letters 11, 49–52 (1999)

    Article  Google Scholar 

  4. Cavalcanti, A., Wellings, A., Woodcock, J.: The Safety-Critical Java memory model: A formal account. In: Butler, M., Schulte, W. (eds.) FM 2011. LNCS, vol. 6664, pp. 246–261. Springer, Heidelberg (2011)

    Chapter  Google Scholar 

  5. Tang, D., Plsek, A., Vitek, J.: Static checking of Safety-Critical Java annotations. In: Proceedings of Java Technologies for Real-time and Embedded Systems, pp. 148–154. ACM (2010)

    Google Scholar 

  6. Dalsgaard, A.E., Hansen, R.R., Schoeberl, M.: Private memory allocation analysis for SCJ. In: Proceedings of Java Technologies for Real-time and Embedded Systems, pp. 9–17. ACM (2012)

    Google Scholar 

  7. Woodcock, J.C.P., Davies, J.: Using Z—Specification, Refinement, and Proof. Prentice-Hall (1996)

    Google Scholar 

  8. Schoeberl, M.: Nested Private SCJ example (2013), http://www.jopwiki.com/Download

  9. Marriott, C.: The formalisation of SCJmSafe   - Technical Report. The University of York, UK (2013), http://www-users.cs.york.ac.uk/marriott/

  10. Marriott, C.: SCJ Memory Safety with SCJCircus   - Technical Report. The University of York, UK (2012), http://www-users.cs.york.ac.uk/marriott/

  11. Zeyda, F., Lalkhumsanga, L., Cavalcanti, A., Wellings, A.: Circus models for Safety-Critical Java programs. The Computer Journal, bxt060 (2013)

    Google Scholar 

  12. Kalibera, T., Hagelberg, J., Pizlo, F., Plsek, A., Titzer, B., Vitek, J.: CDx: a family of real-time Java benchmarks. In: Proceedings of Java Technologies for Real-time and Embedded Systems, pp. 41–50. ACM (2009)

    Google Scholar 

  13. Nemer, F., Cassé, H., Sainrat, P., Bahsoun, J.P., De Michiel, M.: Papabench: a free real-time benchmark. WCET 4 (2006)

    Google Scholar 

  14. Wellings, A.: Concurrent and real-time programming in Java. Wiley (2004)

    Google Scholar 

  15. Kalibera, T., Parizek, P., Malohlava, M., Schoeberl, M.: Exhaustive testing of Safety-Critical Java. In: Proceedings of Java Technologies for Real-time and Embedded Systems, pp. 164–174. ACM (2010)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2014 Springer International Publishing Switzerland

About this paper

Cite this paper

Marriott, C., Cavalcanti, A. (2014). SCJ: Memory-Safety Checking without Annotations. In: Jones, C., Pihlajasaari, P., Sun, J. (eds) FM 2014: Formal Methods. FM 2014. Lecture Notes in Computer Science, vol 8442. Springer, Cham. https://doi.org/10.1007/978-3-319-06410-9_32

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-06410-9_32

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-06409-3

  • Online ISBN: 978-3-319-06410-9

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics