Crazy idea of the day: Static Analysis Ranked Defect List. Here is a software analysis tool feature request/product idea: So many times we see the problem that a static analysis tool or o...
http://betterembsw.blogspot.com/2024/05/static-analysis-ranked-defect-list.html
I sometimes get requests from LinkedIn contacts about help deciding between job offers. I can't provide personalize advice, but here are my thoughts in general. You must accept personal own...
http://betterembsw.blogspot.com/2021/05/job-and-career-advice.html
Here is a brief piece I wrote that Jack Ganssle just ran in The Embedded Muse 460. The context was a previous discussion about enabling compiler warnings. John Carter's suggestion to u...
http://betterembsw.blogspot.com/2022/12/what-compiler-warnings-should-you-enable.html
There are only a handful of hardcover books left of the first edition, so I spend some time converting things over to an eBook & Paperback edition. Amazon Kindle: https://amazon.com/gp/product...
http://betterembsw.blogspot.com/2021/02/better-embedded-system-software-e-book.html
In the coming years, there will be other time rollovers beyond Y2K. The next big one isn't all that far away. Contrary to what you might have heard, the reason more computers didn't break on Ja...
http://betterembsw.blogspot.com/2021/01/the-y2038-problem-sooner-than-you-think.html
Karl Weigers has an essay about lessons he's learned from a long career in software development. You should benefit from his experience. The essay covers requirements, project management, quality...
http://betterembsw.blogspot.com/2021/01/62-software-experience-lessons-by-karl.html
https://pixabay.com/vectors/code-programming-head-computer-2858768/ Once in a while I run into developers who think that peer review can be completely automated by using a good static analy...
http://betterembsw.blogspot.com/2020/08/lint-does-not-do-peer-reviews.html
In October 2018 Hong Kong had "six hours of turmoil" in their rail service due to as signalling outage. The culprit has now been identified as counter roll-over. https://www.scmp.com/news/hong...
http://betterembsw.blogspot.com/2019/01/counter-rollover-brings-down-rail.html
Generally you need to take into account both the consequence of a software defect as well as how often it occurs when doing bug triage. (See: Using a Risk Analysis Table to Categorize Bug Prio...
http://betterembsw.blogspot.com/2019/01/sometimes-bug-severity-isnt-most.html
It's always interesting to see data on industry software costs. I recently came across a report on software costs for the aviation industry. The context was flight-critical radio communications, ...
http://betterembsw.blogspot.com/2018/10/cost-of-highly-safety-critical-software.html
PAGE MOVED HERE: HTTPS://BETTEREMBSW.BLOGSPOT.COM/P/POTENTIALLY-DEADLY-AUTOMOTIVE-SOFTWARE.HTML
http://betterembsw.blogspot.com/2018/09/potentially-deadly-automotive-software.html
When we talk about how much risk is enough, it is common to do things like compare the risk to current systems, or argue about whether something is more (or less) likely than events such as being...
http://betterembsw.blogspot.com/2018/09/different-types-of-risk-analysis-alarp.html
For those who might have missed it, most of my recent blogging has been on my Safe Autonomy Blog: https://safeautonomy.blogspot.com Recent post topics include slides and paper preprints such ...
http://betterembsw.blogspot.com/2018/07/activity-on-my-safe-autonomy-blog.html
I've posted the full series of my available embedded system code quality and related best practices videos on YouTube. These are full-length narrated slides of the core set of safety topics fro...
http://betterembsw.blogspot.com/2018/03/embedded-code-quality-and-best.html
I'm doing a lot more work on self-driving car (autonomous vehicle) safety, so I've decided to split my blogging for that activity. I'll still post more general embedded system topics here, perh...
http://betterembsw.blogspot.com/2018/02/new-blog-on-self-driving-car-safety.html
I'm very pleased that our research team will present a paper on Robustness Testing of Autonomy Software at the ICSE Software Engineering in Practice session in a late May. You can see a preprint ...
http://betterembsw.blogspot.com/2018/02/robustness-testing-of-autonomy-software.html
Here's a new peer review checklist to help improve the quality of your embedded C code. To use the checklist, you should do a sit-down meeting with, ideally, three reviewers not including the c...
http://betterembsw.blogspot.com/2018/01/new-peer-review-checklist-for-embedded.html
I'm just wrapping up my first semester teaching a new course on embedded system software. It covers code quality, safety, and security. Below is table of lecture handouts. NOTE: there is an upd...
http://betterembsw.blogspot.com/2017/11/embedded-software-course-notes-on-line.html
Here are the slides from my TechAD talk today. HIGHLY AUTONOMOUS VEHICLE VALIDATION from PHILIP KOOPMAN Highly Autonomous Vehicle Validation: it's more than just road testing! - Why a bil...
http://betterembsw.blogspot.com/2017/11/highly-autonomous-vehicle-validation.html
Here are five common management-level misconceptions I run into when I do design reviews of embedded systems. How many of these have you seen recently? (1) GETTING TO COMPILED CODE QUICKLY INDIC...
http://betterembsw.blogspot.com/2017/10/top-five-embedded-software-management.html
Here are the slides from my AV17 Presentation on self-driving car safety: CHALLENGES AND SOLUTIONS IN AUTONOMOUS VEHICLE VALIDATION from PHILIP KOOPMAN
http://betterembsw.blogspot.com/2017/09/challenges-and-solutions-in-autonomous.html
I've had to review code that has spaghetti-level complexity in control flow (too high cyclomatic complexity). And I've had to review code that has spaghetti-level complexity its data flow (...
http://betterembsw.blogspot.com/2017/08/the-spaghetti-factor-software.html
It is common to see small helper functions implemented as macros, especially in older C code. Everyone seems to do it. But you should avoid macros, and instead use inline functions. The ...
http://betterembsw.blogspot.com/2017/07/dont-use-macros-for-min-and-max.html
Is your code full of "#define" statements? If so, you should consider switching to the const keyword. Old school C: #define MYVAL 7 Better approach: const uint32_t myVal = 7...
http://betterembsw.blogspot.com/2017/05/define-vs-const.html
Geralt / CC0 PD/noattrib. WRITING CODE SHOULD BE MADE MORE DIFFICULT SO THAT VERIFICATION &VALIDATION CAN BE MADE EASIER. I first heard this notion years ago at a workshop in which severa...
http://betterembsw.blogspot.com/2017/05/optimize-for-v-not-for-writing-code.html