Computing Reviews
Today's Issue Hot Topics Search Browse Recommended My Account Log In
Review Help
Search
Embedded software verification and debugging
Lettnin D., Winterholer M., Springer International Publishing, New York, NY, 2017. Type: Book (9781461422655)
Date Reviewed: Jul 26 2017

Speaking about embedded software and hardware is related to speaking about critical systems, which by definition must be reliable systems with no failures at all. Or, in case of failures, systems must have enough intelligence to operate under certain safety conditions for a short period of time (fail-safe or recovery mode).

Keeping in mind the previous statement, there is only one way to develop successful embedded software and hardware, that is, following an exhaustive debugging and verification process. Here is where this book comes into action.

This book presents a comprehensive review of state-of-the-art techniques in the context of software and hardware debugging and verification. Debugging and verification methodologies are also largely analyzed and compared. Chapters include a deep analysis and discussion of real experiments (real systems) and depict the lessons learned as well as future steps or open questions. A solid and updated list of references closes every chapter.

After the first introductory chapter, the book deals with recent approaches, covering hardware emulator systems such as Cadence FPGA boards in chapter 2 and software debugging techniques such as dynamic temporal assertions in chapter 3. Another interesting topic deals with not only finding bugs, but also reproducing those bugs in order to analyze the conditions that led to them before fixing the code. Chapter 4 presents approaches to bug reproduction (for example, online monitors, log monitors, and so on). Chapter 5 highlights another big player in current debugging techniques: the use of visualization tools for examining the behavior of software execution at runtime (for example, sequence diagrams, timing diagrams).

Nowadays, embedded systems are not a synonym for isolated systems; the Internet of Things (IoT) is a good example of the complexity of current embedded systems. Here, heterogeneous systems exchange data and cooperate to control a given process. Chapter 6 addresses monitoring techniques for checking communications between embedded systems. The use of certain conditions in the source code in order to prove the correctness of the system is explained in chapter 7. Chapter 8 closes the book with a novel methodology, VERIFYR, in order to allow the user to verify embedded software with temporal properties.

This book is primarily aimed at software and hardware developers, software architects, and researchers and PhD candidates with a special focus on computer science and embedded systems.

Reviewer:  Ramon Gonzalez Sanchez Review #: CR145446 (1710-0644)
Bookmark and Share
  Reviewer Selected
 
 
Verification (D.4.5 ... )
 
 
Debugging Aids (D.2.5 ... )
 
Would you recommend this review?
yes
no
Other reviews under "Verification": Date
Verification of the IBM RISC System/6000 by a dynamic biased pseudo-random test program generator
Aharon A., Dorfman B., Gofman E., Leibowitz M., Schwartzburd V., Bar-David A. IBM Systems Journal 30(4): 527-538, 1991. Type: Article
Dec 1 1993
A Specification and Verification Method for Preventing Denial of Service
Yu C., Gligor V. IEEE Transactions on Software Engineering 16(6): 581-592, 1990. Type: Article
Feb 1 1991
Using program transformations to provide safety properties for real-time systems
Tsai G., Wang S. Real-Time Systems 27(2): 191-207, 2004. Type: Article
Feb 23 2005
more...

E-Mail This Printer-Friendly
Send Your Comments
Contact Us
Reproduction in whole or in part without permission is prohibited.   Copyright 1999-2024 ThinkLoud®
Terms of Use
| Privacy Policy