Information-flow and data-flow analysis of while-programs
ACM Transactions on Programming Languages and Systems (TOPLAS)
Functional documents for computer systems
Science of Computer Programming
A language for systems not just software
Proceedings of the 2001 annual ACM SIGAda international conference on Ada
Is Proof More Cost-Effective Than Testing?
IEEE Transactions on Software Engineering
Breaking Through the V and V Bottleneck
Proceedings of the Second International Eurospace - Ada-Europe Symposium on Ada in Europe
Hi-index | 0.00 |
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.