This content is not included in
your SAE MOBILUS subscription, or you are not logged in.
Verification of Group Variables for Detecting Inconsistencies in Software
Technical Paper
2015-01-0174
ISSN: 0148-7191, e-ISSN: 2688-3627
Annotation ability available
Sector:
Language:
English
Abstract
Verification and Validation (V&V) techniques commonly use static analysis to detect property violations in modern software systems. However, besides checking for general programming errors like division by zero, array index out of bound etc., certain program patterns can also be verified in order to detect inconsistencies in the software. For instance, there could be several strongly related program entities, such as groups of variables or data structure members updated together, which are often observed across various parts of a program. We term such strongly related entities as group variables. When only a subset of group variables is updated at some part of a program, it could probably be a result of some inconsistency in implementation which may lead to unexpected behavior or failure of the underlying system. Therefore, verifying group variables and their write operations is essential to ensure the safety and reliability of software.
In this paper, we present a novel application of static analysis to verify write instances of group variables. It includes - a) identification of all potential groups and their corresponding group variables, and b) verification of write operations of identified group variables. We have evaluated the presented technique on four real-world embedded applications for checking its effectiveness, applicability, and scalability. Our technique was successfully able to detect three implementation defects in two well tested real-world applications belonging to automotive industry.
Citation
Datar, A. and Zare, A., "Verification of Group Variables for Detecting Inconsistencies in Software," SAE Technical Paper 2015-01-0174, 2015, https://doi.org/10.4271/2015-01-0174.Also In
References
- ISO 26262 standard Road vehicles - Functional safety - Part 6: Product development: software level ISO standard 26262-6 Nov. 2011
- Ostroff , Jonathan S. Formal methods for the specification and design of real-time safety critical systems Journal of Systems and Software 18 1 1992 33 60
- Knight , John C. Safety critical systems: challenges and directions Software Engineering, 2002. ICSE 2002. Proceedings of the 24rd International Conference on 547 550 IEEE 2002
- Ring Buffer Basics http://www.embedded.com/electronics-blogs/embedded-round-table/4419407/2/The-ring-buffer Aug 2013
- TCS Embedded Code Analyzer (TCS ECA) http://www.tcs.com/offerings/engineering_services/Pages/TCS-Embedded-Code-Analyzer.aspx 15 Oct 2014
- Aho A. , Sethi R. , Ullman J.D. Compilers: Principles, Techniques, and Tools Reading, MA Addison-Wesley 1986
- Hasegawa Miwako Missed-Data-Update Review Device, Missed-Data-Update Review Method, and Missed-Data-Update Review Program Japan Patent JP2013/084612 July 24 2014
- Hammer , Christian , Dolby Julian , Vaziri Mandana , and Tip Frank Dynamic detection of atomic-set-serializability violations Software Engineering, 2008. ICSE'08. ACM/IEEE 30th International Conference 231 240 IEEE 2008
- Dolby , Julian T. , Hammer Christian J. , Tip Frank , and Vaziri-Farahani Mandana Dynamic detection of atomic-set-serializability violations U.S. Patent 8,141,054 March 20 2012
- Vaziri , Mandana , Tip Frank , and Dolby Julian Associating synchronization constraints with data in an object-oriented language ACM SIGPLAN Notices 41 1 334 345 ACM 2006
- Jannesari , Ali , Westphal-Furuya Markus , and Tichy Walter F. Dynamic data race detection for correlated variables Algorithms and Architectures for Parallel Processing 14 26 Springer Berlin Heidelberg 2011
- Lu , Shan , Park Soyeon , Hu Chongfeng , Ma Xiao , Jiang Weihang , Li Zhenmin , Popa Raluca A. , and Zhou Yuanyuan MUVI: automatically inferring multi-variable access correlations and detecting related semantic and concurrency bugs ACM SIGOPS Operating Systems Review 41 6 103 116 ACM 2007
- Lucia , Brandon , Ceze Luis , and Strauss Karin ColorSafe: architectural support for debugging and dynamically avoiding multi-variable atomicity violations ACM SIGARCH Computer Architecture News 38 3 222 233 ACM 2010
- Muzahid , Abdullah , Otsuki Norimasa , and Torrellas Josep Atomtracker: A comprehensive approach to atomic region inference and violation detection Proceedings of the 2010 43rd Annual IEEE/ACM International Symposium on Microarchitecture 287 297 IEEE Computer Society 2010