fme03_Gerard J. Holzmann_Trends in Software Verification

fme03_Gerard J. Holzmann_Trends in Software Verification -...

Info iconThis preview shows pages 1–3. Sign up to view the full content.

View Full Document Right Arrow Icon
Tr ends in SoftwareVerification Gerard J. Holzmann JPL Laboratory for Reliable Software California Institute of Technology 4800 Oak Grove Drive Pasadena, CA 91006 gerard.j.holzmann@jpl.nasa.gov Abstract. With the steady increase in computational power of general purpose computers, our ability to analyze routine software artifacts is also steadily increasing. Asaresult, we are witnessing a shift in emphasis from the verifica- tion of abstract hand-built models of code, towards the direct verification of implementation leve lcode. This change in emphasis poses a newset of chal- lenges in software verification. Weexplore some of them in this paper. 1. Introduction In the last fewyears, we have seen a push towards the direct application of formal ver- ification techniques to implementation leve lcode, instead of to manually constructed high-leve lmodels of code. Although the direct application of, for instance, model checking techniques to implementation leve lcode can significantly increase the com- putational requirements for a verification, the promise of this newapproach is that it can eliminate the need for expert model builders and can place the power of auto- mated verification techniques where it belongs: in the hands of programmers. There are twogeneral approaches to the software verification problem in this form. •Mapping the implementation leve ldescription of the software artifact mechanically to the description language of an existing verification tool. The application is rewritten to match the requirements of a givenverification tool. •Dev eloping a verification tool that can work directly on implementation level descriptions. The verification tool is rewritten to match the requirements of a givenimplementation language. Examples of projects pursuing the first method include the first Java Pathfinder tool [5], the Bandera toolset [4], and the FeaVer toolset 1 [8], which all target the SPIN model checker 2 [7,10] as the main verification engine. Examples of projects pursuing the second method include the second version of the Java Pathfinder tool [2], Microsoft’sBebop toolset [1], and the Blast tool [6]. Of the six projects mentioned, three target the Java programming language ([2,4,5]),
Background image of page 1

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
verification process. The second method, on the other hand, makes it possible to leverage the efforts that have already been spent in the creation of the software arti- facts and to trust their accuracy, rather than the accuracyofanewly developed transla- tor .Inother words: the first method tries to secure that the application is verified cor- rectly
Background image of page 2
Image of page 3
This is the end of the preview. Sign up to access the rest of the document.

This note was uploaded on 04/18/2011 for the course COMPUTER S 1111 taught by Professor Name during the Spring '05 term at MIT.

Page1 / 10

fme03_Gerard J. Holzmann_Trends in Software Verification -...

This preview shows document pages 1 - 3. Sign up to view the full document.

View Full Document Right Arrow Icon
Ask a homework question - tutors are online