Germany's major leading congress for the embedded software industry comes to your home or office - digital, interactive, and with a proven high level of scope and professional depth. Get the latest knowledge, ideas and solutions on technologies, methods and trends and set the course for 2021!
MathWorks will be presenting at the event, as detailed below:
Modern C++ in Embedded Software: Moving [[deprecated]] std::forward xor catch(verification::disease)?
For decades, the C language has dominated the embedded market. But with increasingly complex systems, it becomes more and more difficult to efficiently develop and maintain embedded software without high-level concepts such as object orientation. The closest answer to this challenge is perhaps C++, the natural successor of C. It has been significantly modernized over the past years and become what we now call "modern C++". New language and library features promise more convenience, to make our software easier to maintain, easier to re-use and therefore better suited to counteract the complexity challenge.
However, C++ has a bad reputation when it comes to verification. It can be difficult to comprehend, and the complex hidden semantics can be troublesome for software testers. Since many embedded systems are also subject to certification, this raises the following questions: If we use modern C++ with its new features, what are the implications for dynamic testing, static analysis and eventually certification? Which features actually help maintaining and increasing robustness, which ones achieve the opposite? This question is of particular interest with the omnipresent topic of cybersecurity. And finally, are there mutual benefits or adverse effects between static code analysis and modern C++?
In this talk we discuss these questions by examining practical examples of how modern C++ and static code analysis get along, identify DOs and DONTs, as well as provide an overall comparison to traditional C.