Sean Prestridge - Senior Applications Engineer (FAE), Team Leader for the FAE US Division of IAR Systems - in his article Move fast and break things? Not so fast in embedded ”, talks about the specifics of software development for embedded systems, paying particular attention to the issues of code quality and testing.
“ Move faster and break the barriers ” is the approach voiced by Mark Zuckerberg, which he is introducing into the Facebook development culture. While it sounds great when we talk about quickly creating and launching new features (even if they're not perfect), it still loses its beauty when you try to apply it to software development for embedded systems.
The reason is that the subject areas are completely different. At the core of Facebook is web and database development, with many functional points that probably won't get hit too hard if an important new feature doesn't work correctly. Embedded systems are, by their very nature, systems with limited resources, mainly designed to perform only one function, or maybe several functions. Therefore, the "Move faster and break the barriers" philosophy applied to an embedded system can potentially render the entire system useless. Depending on what function the embedded system implements, the results can be unpleasant at best and disastrous at worst.
(RAD – Rapid Application Development) ? , , , .
« , »
, . WISCY ( «»): ? . , , , .
( ) , , , . , . : « , . . , » [1]. .
, , , « ». , , . .
RAD , « » , , , « ». , . , - . , , , ( ) .
, , « ». , « ». , [2]. : « » [1].
. .:
— , , , , , , .
–
, , - , ? MISRA, CWE, CERT, . . , , , «» ++.
, , , . , , . , 50 , [3]. , , , « » . , , , . , , . , , .
« », :
— , . . , , , , , , . , — . , , .» [4]
, , , . , , , : ( «»), ( ), ( ) . - : , , [5].
( , ) . , . , , , . , , , . – . ( )? , , , ? , , , .
, « , » , , . , . IBM, 100$ , -- 1500$, – 10000$ [6]. , . « » (Test-Driven Development – TDD), . , , . , : , , ; . . , , .
,
, . , , , , . , , , , . , , – . , .
- https://www.infoq.com/articles/slow-down-go-faster/
- https://www.targetprocess.com/articles/speed-in-software-development/
- https://cacm.acm.org/magazines/2018/4/226371-lessons-from-building-static-analysis-tools-at-google/fulltext
- Steve McConnell, Code Complete, Second Edition (Microsoft Press, 2009), 501.
- https://www.afit.edu/stat/statcoe_files/0214simp%202%20AST%20IG%20for%20Managers%20and%20Practitioners.pdf
- https://crossbrowsertesting.com/blog/development/software-bug-cost/