Better Embedded System Software

Learn how to avoid common pitfalls and make your product better!

Better Embedded System Software
Philip Koopman, Ph.D.
Carnegie Mellon University

Drumnadrochit Education LLC, 2010
Hardcover, 397 pages, acid free paper
ISBN-13: 978-0-9844490-0-2
ISBN-10: 0-9844490-0-0

   Half Off Retail
   Free Priority Mail Shipping (US Only)

(Order button is at bottom of page.)
    {cover} {back cover}

(Publisher retail price is US $140.)

Visit the author's related blog on Better Embedded System Software. If the blog is blocked by your corporate firewall, try viewing it through Google Reader (add this URL to your subscriptions:

See the handouts for the author's lecture on Avoiding the Top 43 Embedded Software Risks for an overview of the contents of the book and highlights from his blog. On-site training based on this lecture is available from the author.

Practical advice on avoiding common embedded system design problems:

This book distills the experience of more than 90 design reviews on real embedded systems into a set of bite-size lessons learned in the areas of software development process, requirements, architecture, design, implementation, verification & validation, and critical system properties. Each chapter describes an area that tends to be a problem in embedded system design, symptoms that tend to indicate you need to make changes, the risks of not fixing problems in this area, and concrete ways to make your embedded system software better. Each of the 29 chapters is relatively self-sufficient, permitting developers with a busy schedule to cherry-pick the best ideas to make their systems better right away.

Upgrade your embedded software design skills:

The book chapters address things that every embedded software engineer should know. If you are relatively new to the area but have already learned the basics, this book will be an invaluable asset for taking your game to the next level. If you are experienced, this book provides a way to fill in any gaps. Once you have mastered this material, the book will serve as a source of reminders to make sure you haven't forgotten anything as you plan your next project.

While this is a book written for practicing embedded software developers, it has already been adopted as a textbook for advanced embedded system courses at Carnegie Mellon Universityand other universities. This first edition incorporates improvements identified in a beta trial at those universities in Spring 2010.

  1. Introduction
  2. Written development plan
  3. How much paper is enough?
  4. How much paper is too much?
  5. Written requirements
  6. Measureable requirements
  7. Tracing requirements to test
  8. Non-functional requirements
  9. Requirement churn
  10. Software architecture
  11. Modularity
  12. Software design
  13. Statecharts and modes
  14. Real time
  15. User interface design
  1. How much assembly language is enough?
  2. Coding style
  3. The cost of nearly full resources
  4. Global variables are evil
  5. Mutexes and data access concurrency
  6. Static checking and compiler warnings
  7. Peer reviews
  8. Testing and test plans
  9. Issue tracking & analysis
  10. Run-time error logs
  11. Dependability
  12. Security
  13. Safety
  14. Watchdog timers
  15. System reset
  16. Conclusions

{detailed contents}

Detailed Table of Contents

(Acrobat Reader required).

Features that will make this a permanent reference book in your personal library:

About the Author:

Philip Koopman is an Associate Professor at the Carnegie Mellon University Electrical and Computer Engineering Department. Additionally, he is a faculty member of the Institute for Software Research (ISR). After his undergraduate education at Rensselaer Polytechnic Institute, he served as a US Navy submarine officer in the Cold War. After receiving his PhD from Carnegie Mellon, he architected embedded control CPUs for Harris Semiconductor and then created embedded system architectures for a variety of United Technologies Corp. applications such as elevators and automobiles. He returned to Carnegie Mellon and has worked on wearable computers, software robustness testing, graceful degradation, cyclic redundancy codes, embedded networks, safety, and embedded security. He has written an assortment of books and academic papers, and holds 26 U.S. patents in areas such as embedded CPU design, embedded communications, geographic location-aware services, and vehicle security. His current research interests include lightweight software processes for embedded systems, dependability, safety, embedded networking, distributed embedded systems, and embedded system security. In addition to his teaching and research duties at Carnegie Mellon, he performs external design reviews for industry embedded systems and presents training based on the contents of this book.

Author web site:

Special author referral discount:

Save 50% off retail. Free US Priority Mail shipping.
Retail is $140 for this hard-cover book. Discount provided for an order of 6 books.

We accept Paypal.
You can also order via

Find it on
Qualifies for
Amazon Prime Shipping
International Shipping

   Paypal direct from publisher.   
$69.99 with free US shipping.
In Stock.

Step 1. Please Select Book Quantity:
Step 2. Click the "Buy Now" button below:
Official PayPal Seal

- Order processing is provided by Geos Fulfillment, and this is the company that will receive your Paypal payment.
- Please allow 1-2 business days for shipping plus 2-5 days transit time for priority mail. Shipped from Pennsylvania; PA sales tax applies to in-state orders. Shipping charges are included in price, subject to change in response to postage rate changes.
- Sorry, due to an enormous increase in shipping costs (USPS costs us about half of the selling price for international shipping) we are unable to fulfill international orders. Please order from who will be able to ship to your international address and much less total cost than we can. There are reports that Amazon might not ship to some addresses in Canada and Mexico. Due to exhorbitant shipping costs via USPS (about $35/book as of this writing) we're not able to do that either. The customs paperwork involved in using third-party carriers is excessive for single books, so we're not able to ship to your Fedex or UPS account unless you're placing a bulk order (6 books or more).
- If you want more than one book, please contact us and we will be happy to send you a paypal invoice for your order. Discounts are available for orders of 6 books, 12 books, and full cases of 24 books.
- Amazon link is provided as a courtesy only; prices and policies vary depending on vendor when purchasing via Amazon. When Fulfilled By Amazon (FBA) is available (via only), they say they are able to ship to almost all countries, ship via US overnight service, and may provide other delivery options. Geos Fulfillment is the official publisher vendor, so their Amazon FBA service ships new publisher inventory. No other vendor is shipping direct from publisher inventory.

Official publisher contact address is: {email}

Policies & fine print

We normally ship products ourselves from our stock to US addresses via USPS with delivery confirmation. If delivery confirmation is given by USPS, we consider the item to have been successfully delivered. (If confirmation is provided and you did not get the item, check immediately with your post office! Usually in such cases they are holding the package for a few days for you to pick up.) We may occasionally, at our sole discretion, use Amazon drop-ship trackable service in lieu of priority mail for US customers if that means you will get the book sooner.

Orders are typically shipped within two business days of receipt from our fulfillment service in Western Pennsylvania USA, but there may be further delays due to holidays or other facility closures. We will do our best to inform you of such circumstances. If you have a special circumstance for shipping or wish to place an order multiple books, please contact us with details before submitting an order. We do not have special rates for book stores; the rates on this web page are our best available rates unless you are ordering case lots of 6 or more books.

Returns are accepted of un-read, unmarked books in new condition, received within 30 days at the buyer's expense with the goods in unused condition, able to be re-sold as new. You must contact us before initiating a return. We are unable to accept returns with markings, highlighting, stickers, folds, scratches, or other physical damage, and will not be able to pay postage to return such books to you if you send them to us. If you do not package the book adequately when you ship it back to us, we cannot assume responsibility for damage in transit. If your goods are received in damaged condition please save the packing materials and contact us for instructions. You must initiate contact with us within 3 days of receipt of damaged goods to file a claim. In light of the high cost of shipping, returns of non-defective goods will have an amount approximately equal to postage costs deducted from credit. If your package is returned as undeliverable due to an address problem that is your fault, we reserve the right to charge for postage on a second shipment attempt and/or refund the non-postage part of your order at our discretion.

You do not need a Paypal account to use a credit card, and there are no fees to you. However, in some circumstances Paypal anti-fraud measures require you to register or validate your address for orders to be accepted. We are not responsible for situations in which Paypal refuses your payment, but contact us if this happens to you and we may be able to work out an alternate arrangement such as payment directly to us by personal check or money order. We are unable to accept bank wire transfers due to the high fees charged by US banks for that. We reserve the right to adjust billing or provide a refund, at our option, if there is an error in computing shipping costs, billing, or an order is erroneously accepted to a destination to which we do not provide shipment. You have the right to cancel your order before it ships if you do not agree to the adjustment, and we will make sure you have a reasonable opportunity to do so.

PRIVACY: We won't give your name or contact information to anyone except our order fulfillment partner for the purposes of completing your order. We may contact you for order follow-up, or on rare occasion to announce a new edition or specifically book-related event such as an author signing or author lecture in your area. If we start a mailing list we will give you the opportunity to opt out. If you have specific privacy requests please use the e-mail address above and we will be happy to work with you on addressing any special concerns. We direct you to Paypal to pay, so we do not have access to your credit card information and therefore do not store it, but Paypal privacy policies will apply to information you supply to Paypal.

January 17, 2017