This book addresses the most important techniques in improving the correctness of software, including correctness by construction, program proving, static analysis and dynamic, execution-based analysis. Problems and exercises are included.
"synopsis" may belong to another edition of this title.
This book advocates the integrated and tool supported use of all available verification methods to improve software correctness. The following major software verification techniques and their supporting tools, based on sound mathematical models, are discussed:
· Correctness by construction, using the Vienna Development Method-Specification Language (VDM-SL) and its supporting CSK’s Toolbox.
· Static program analysis supported by the PRAXIS’ SPARK toolset and SofTools’ System for Testing And Debugging (STAD 4.0).
· Program proving supported by SPARK.
· Dynamic program analysis supported by STAD.
VDM-SL Toolbox and SPARK illustrate, respectively, the correctness by construction and program proving paradigms. The author demonstrates that while both methods are powerful, errors are inevitable and detecting these may be more difficult than in the case of an informally developed program. Consequently, error detection must be an integral part of the entire life cycle of a programming project. Black-Box (specification based) and Structural (code based) testing are covered and supported by STAD (including 5 testing criteria). STAD also features a quite powerful descriptive and proscriptive static analysis.
Software engineers, students and computer scientists will find that the book provides the reader with a comprehensive understanding of software verification issues. STAD’s outputs allow the user to implement and test their own ideas.
The most recent version of STAD can be downloaded from http://www.stadtools.com.
From the reviews:
"Software verification is a set of important activities in the software development process that leads to determining whether the software product fulfills requirements. ... It could also be very useful to software engineering researchers and practitioners. The quality of the book is enhanced by the wide range of examples that illustrate various problems and offer appropriate solutions. The physical quality of the book is extremely high." (M. Ivanovic, ACM Computing Reviews, June, 2009)
“Software verification and validation are conducted to help ensure that programs perform correctly. ... While this book’s subtitle indicates a ‘hands-on approach,’ it really takes a formal mathematical approach to describing software verification. ... The book includes plenty of diagrams and figures, and it explains verification concepts with examples. This work is useful as a complement to hands-on testing books to detail the mathematical foundations of software verification. Summing Up: Recommended. Upper-division undergraduates through professionals.” (H. J. Bender, Choice, Vol. 47 (3), November, 2009)"About this title" may belong to another edition of this title.
US$ 33.59 shipping from United Kingdom to U.S.A.
Destination, rates & speedsSeller: Lucky's Textbooks, Dallas, TX, U.S.A.
Condition: New. Seller Inventory # ABLIING23Mar2912160255111
Quantity: Over 20 available
Seller: BuchWeltWeit Ludwig Meier e.K., Bergisch Gladbach, Germany
Taschenbuch. Condition: Neu. This item is printed on demand - it takes 3-4 days longer - Neuware -'The situation is good, but not hopeless' (Polish folk wisdom) The text is devoted to the Software Analysis and Testing (SAT) methods and s- porting tools for assessing and, if possible, improving software quality, specifically its correctness. The term quality assurance is avoided for it is this author's firm belief that in the current state of the art that goal is unattainable, a plethora of 'gu- anteed' solutions to the problem notwithstanding. Therefore, the rather awkward phrase 'improving correctness' is to be understood as an effort to minimize the number of residual programming faults ('bugs') and their impact on the software's behavior, that is, to make the faults tolerable. It is clear that such a minimalist approach is a result of frustration. Indeed, having spent years developing software and teaching (preaching ) 'How to do it right,' I still do not know how to go about it with any degree of certainty! It appears then I probably should stop right now, for who with a modicum of common sense would reach for a text that does not offer salvation but (as will be seen) hard work and misery If I intend to continue, it is only that I suspect there are many professionals out there who have similar doubts. And they are the intended audience of this project. The philosophical underpinning of the text is the importance of sound engine- ing practices in software development. 244 pp. Englisch. Seller Inventory # 9781849968294
Quantity: 2 available
Seller: Chiron Media, Wallingford, United Kingdom
PF. Condition: New. Seller Inventory # 6666-IUK-9781849968294
Quantity: 10 available
Seller: THE SAINT BOOKSTORE, Southport, United Kingdom
Paperback / softback. Condition: New. This item is printed on demand. New copy - Usually dispatched within 5-9 working days 378. Seller Inventory # C9781849968294
Quantity: Over 20 available
Seller: Ria Christie Collections, Uxbridge, United Kingdom
Condition: New. In. Seller Inventory # ria9781849968294_new
Quantity: Over 20 available
Seller: AHA-BUCH GmbH, Einbeck, Germany
Taschenbuch. Condition: Neu. Druck auf Anfrage Neuware - Printed after ordering - 'The situation is good, but not hopeless' (Polish folk wisdom) The text is devoted to the Software Analysis and Testing (SAT) methods and s- porting tools for assessing and, if possible, improving software quality, specifically its correctness. The term quality assurance is avoided for it is this author's firm belief that in the current state of the art that goal is unattainable, a plethora of 'gu- anteed' solutions to the problem notwithstanding. Therefore, the rather awkward phrase 'improving correctness' is to be understood as an effort to minimize the number of residual programming faults ('bugs') and their impact on the software's behavior, that is, to make the faults tolerable. It is clear that such a minimalist approach is a result of frustration. Indeed, having spent years developing software and teaching (preaching ) 'How to do it right,' I still do not know how to go about it with any degree of certainty! It appears then I probably should stop right now, for who with a modicum of common sense would reach for a text that does not offer salvation but (as will be seen) hard work and misery If I intend to continue, it is only that I suspect there are many professionals out there who have similar doubts. And they are the intended audience of this project. The philosophical underpinning of the text is the importance of sound engine- ing practices in software development. Seller Inventory # 9781849968294
Quantity: 1 available
Seller: moluna, Greven, Germany
Condition: New. Seller Inventory # 4288900
Quantity: Over 20 available
Seller: Mispah books, Redhill, SURRE, United Kingdom
Paperback. Condition: Like New. Like New. book. Seller Inventory # ERICA77318499682926
Quantity: 1 available