Skip to main content

Closing the Loop: The Influence of Code Analysis on Design

  • Conference paper
  • First Online:

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 2361))

Abstract

Static code analysis originally concerned the extraction from source code of various properties of a program. Although this kind of reverse engineering approach can uncover errors that are hard to detect in other ways, it is not a very efficient use of resources because of its retrospective nature and the late error detection that results. The SPARK language and its associated Examiner tool took a different approach which emphasises error prevention (“correctness by construction”) rather than error detection. Recent work with SPARK has shown that very early application of static analysis can have a beneficial influence on software architectures and designs. The paper describes the use of SPARK to produce designs with demonstrably low coupling and high cohesion.

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

Buying options

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 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

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Croxford, Martin and Sutton, James. Breaking through the V&V Bottleneck. Lecture Notes in Computer Science Volume 1031, 1996.

    Google Scholar 

  2. Sutton, James. Cost-Effective Approaches to Satisfy Safety-critical Regulatory Requirements. Workshop Session, SIGAda 2000.

    Google Scholar 

  3. B.D. Bramson. Malvern’s Program Analysers. RSRE Research Review 1984.

    Google Scholar 

  4. Bernard Carré. Program Analysis and Verification in High Integrity Software. Chris Sennett (Ed). Pitman. ISBN 0-273-03158-9.

    Google Scholar 

  5. C. Daniel Cooper. Ada Code Analysis: Technology, Experience, and Issues. Proceedings SIGAda 2000.

    Google Scholar 

  6. Finnie, Gavin et al. SPARK-The SPADE Ada Kernel. Edition 3.3, 1997, Praxis Critical Systems.

    Google Scholar 

  7. Finnie, Gavin et al. SPARK 95-The SPADE Ada 95 Kernel. 1999, Praxis Critical Systems.

    Google Scholar 

  8. Barnes, John. High Integrity Ada-the SPARK Approach. Addison Wesley Longman, ISBN 0-201-17517-7.

    Google Scholar 

  9. King, Hammond, Chapman and Pryor. Is Proof More Cost-Effective than Testing?. IEEE Transaction on Software Engineering, Vol. 26, No. 8, August 2000, pp. 675–686.

    Article  Google Scholar 

  10. Bergeretti and Carré. Information-flow and data-flow analysis of while-programs. ACM Transactions on Programming Languages and Systems, 1985, pp. 37–61.

    Google Scholar 

  11. Amey, Peter. The INFORMED Design Method for SPARK. Praxis Critical Systems 1999, 2001.

    Google Scholar 

  12. D.L. Parnas and J. Madey. Functional Documentation for Computer Systems, in Science of Computer Programming. October 1995. pp. 41–61.

    Google Scholar 

  13. Amey, Peter. A Language for Systems not Just Software. Proceedings, SIGAda 2001.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2002 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Amey, P. (2002). Closing the Loop: The Influence of Code Analysis on Design. In: Blieberger, J., Strohmeier, A. (eds) Reliable Software Technologies — Ada-Europe 2002. Ada-Europe 2002. Lecture Notes in Computer Science, vol 2361. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-48046-3_12

Download citation

  • DOI: https://doi.org/10.1007/3-540-48046-3_12

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-43784-0

  • Online ISBN: 978-3-540-48046-4

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics