Static code analysis for embedded systems
Ascom Wireless Solutions develop, manufacture and sell products and systems for wireless communication for professional use within industry, medical care, offices and correctional institutions. The section Mobile Software Designs (MSWD) is responsible for the development of software for wireless telephones with requirements on high reliability and usability in safety critical systems. The software shall make the product an efficient and easy to use tool for the customer.
To achieve this, the software has to be maintainable and easy to adapt to new products and customers. An interesting means to this end is analysis of the code in order to improve and control the development work as well as improve feedback to the developers.
To evaluate and provide examples of static code analysis for imperative, object oriented code. The purpose of the analysis is to assess the quality of the code. The objective is to verify that new or changed code is of high quality, before it is committed into central repositories. The quality criteria intended are; few potential sources of error, high modularity and conformity with predefined conditions. The implementation of the analysis shall permit a high degree of automation. The code that is to be analysed is written in a combination of C and C++.
The project shall result in: A report defining a number of different methods of analysis, as well as their pros and cons. A prototype toolkit, that shall have been used on code developed by MSWD. A recommendation for how MSWD shall proceed with static code analysis.
- What methods of static code analysis are available?
- What are the inherent limitations of static code analysis?
- Which measurements correlate well to software quality?
- What tools are readily available?
- Planning of activities and time.
- Studying of available literature.
- Refinement and investigation of the problem.
- Specification of a prototype toolkit.
- Implementation and configuration of the prototype toolkit.
- Evaluation of the prototype toolkit on software from MSWD.
- Completion of the report.
- A small presentation of the work after approximately 10 weeks and a full presentation at the end of the project.
- Number of weeks
- Corresponding credits (hp)
- Computer languages
- Software engineering for embedded systems
- Test methodology
- Related? Axivion Bauhaus Suite: http://www.software-acumen.com/bauhaus/overview/ - a static analysis toolset focussed on making software more maintainable and more modifiable. (M. Dalgarno)