Static code analysis is a system where software is automatically analysed for potential issues without ever being executed - purely from looking at the written source code. Here we’ll quickly touch on what makes static code analysis special and then get stuck into some specific technical examples based on our experience of using it in our work at Spore Lab.
When beginning development of an embedded system, it is necessary to make a decision about whether to design a fully custom platform, or to utilize a pre-existing core system component of some kind. This core component could be anything from a bare main processor module right through to a complete and ready-to-use board. Unfortunately there is no definitive answer on which way to go...
There is no getting around it, customised software development requires a significant investment. High quality results do not come cheaply, so it is important to make sure that everything possible is done to achieve the best return. Keeping developers moving along at a crisp pace on the core task is vital, and poor infrastructure can add a huge overhead to development. To ensure this problem doesn’t occur, there are a number of areas that need to be running smoothly.
When developing a new embedded device it is almost guaranteed that it is going to interoperate with some existing system. This interoperability often takes the form of a communication link. If being constrained by the need for physical proximity is not a concern, directly wiring-in the new device using either Ethernet or some other wired technology generally provides the best bandwidth and reliability. However for ease of installation, and to increase flexibility, some form of wireless technology is often vital.
Smartphones have provided an alternative way for people to interact with a huge range of embedded computing devices. Of course more than just providing an alternative interface with a similar level of interaction, apps on phones allow for a whole lot of extra goodness like familiar UI paradigms, personalization and connection with online services. So assuming most people will end up owning a smartphone, will device-specific hardware interfaces disappear?