StaticCodeAnalysisForEmbeddedSystems
Project proposal
Static code analysis for embedded systems
Background
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.
The assignment
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.
Important questions
- 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?
Tasks
- 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.
Scope
- Number of weeks
- 20
- Corresponding credits (hp)
- 30
Technical areas
- Computer languages
- Software engineering for embedded systems
- Test methodology
Links
- 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)