This content is not included in
your SAE MOBILUS subscription, or you are not logged in.
Applying Software Dependence Analysis for Automotive Embedded Software
Technical Paper
2011-01-1263
ISSN: 0148-7191, e-ISSN: 2688-3627
Annotation ability available
Sector:
Language:
English
Abstract
The size and complexity of embedded software in automotive systems has been increasing rapidly. This makes the analysis of such systems difficult. For instance, in many analyses it is required to trace the dependences between variables in the software. E.g., in checking compliance to On-Board Diagnostics (OBD) standards one needs to ensure that only OBD compliant data-items are used (directly or indirectly) in an algorithm that is to be OBD compliant. Similarly, for safety analysis such as Design Failure Mode Effects Analysis (DFMEA), all the inputs to a safety critical system, all inputs to them, etc., have to be found, so that failure modes associated with these can be analysed. Currently such tracing of dependences is performed manually at great cost and effort.
We describe the application of a technique (and tool) that automates the tracing of software dependence. Essentially, a software variable V (directly) depends-on another variable U when the value of U is used in determining the value of V. This relation can be chained together (transitive closure) to obtain all the (direct or indirect) dependences of any variable, thus allowing variable dependences to be traced.
Our tool takes as input the entire software source code (in C) and computes all the dependence relations in the software. The tool presents an engineer a query interface that allows him/her to view the (direct and indirect) dependences of a chosen variable. The dependences can be visualised as trees and lists and various filters can be applied on these. The tool is sound (it will not miss any potential dependences), scalable (for entire control software exceeding a million lines of code), handles full ANSI C, supports multitasking, and is fully automatic. The tool has been successfully validated on control software in GM in the context of a number of applications.
Recommended Content
Authors
Topic
Citation
Sukumaran, S., Haines, T., and S, R., "Applying Software Dependence Analysis for Automotive Embedded Software," SAE Technical Paper 2011-01-1263, 2011, https://doi.org/10.4271/2011-01-1263.Also In
References
- CodeSurfer (version 2.1) Computer Software, GrammaTech, Inc. Ithaca, NY 2010 http://www.grammatech.com/products/codesurfer/overview_prog.html
- Podgurski, A. Clarke, L. “A formal model of program dependences and its implications for software testing, debugging and maintenance” IEEE Transactions on Software Engineering 16 9 965 979 September 1990
- Ottenstein, K. Ottenstein, L. “The program dependence graph in a software development environment” ACM SIGPLAN Notices 19 5 177 184 May 1984
- Ferrante, J. Ottenstein, K. Warren, J. “The program dependence graph and its use in optimization” ACM Transactions on Programming Languages and Systems 9 3 319 349 July 1987
- Reps, T. Horwitz, S. Binkley, D. “Interprocedural slicing of computer programs using dependence graphs” Patent No. 5161216 USA 1992 Wisconsin Alumni Research Foundation
- Horwitz, S. Reps, T. “The use of program dependence graphs in software engineering” Proceedings of 14th International Conference on Software Engineering 392 411 IEEE Computer Society Press / ACM Press 1992
- Understand C, Computer Software Scientific Toolworks, Inc. St. George, UT