Download presentation
Presentation is loading. Please wait.
Published bySophie Ball Modified over 9 years ago
1
Miser-C MISRA-C Compliance Checker Ian Biller, Phillippe Dass, Bryan Eldridge, Jon Senchyna, Tracy Thomas Faculty Coach: Professor Michael Lutz Project Sponsor: Dr. William Spees
2
MISRA – C Background Software development standard for the C programming language Developed by Motor Industry Software Reliability Association (MISRA) Aims to facilitate code safety, portability and reliability in the context of embedded systems −Specifically those systems programmed in ISO C MISRA-C:2004 – “Guidelines for the use of the C language in critical systems”
3
Context Design/Implementation Constraints −Command line application −Language restricted to Java −Restricted to freely available components −Final product is stand-alone system Operating Environment −Any environment with Java Virtual Machine (JVM) −Support Java 1.4 or higher Product Features −Check C Source-Code Files for Violations −XML Output of Violations and Consequences −Configuration of rules subset and file extensions
4
System Overview Console Application Read in C source-code files Parse files and find violations −Parsers created using ANTLR Output violations in XML file
5
System Flow Load files/rules from Properties Send files to rule modules Rule modules send violations to ViolationList XMLWriter retrieves violations and prints them
6
Architecture Pipe-and-filter architecture At each stage, multiple rule filters may be used Rule filters designed as plug-ins
7
Benefits of Architecture Needed more than just regular expression comparisons −Parsing required for more complex structures −Several stages with different data transformations Easily modifiable/extensible Easy to test each filter separately
8
Project Status 1/3 checkable rules implemented Most planned features implemented −Check C source code for MISRA rule violations −Output violations and consequences in XML format −Allow for configuration of MISRA rule list −Allow for configuration of acceptable file extensions In Progress −Report errors in XML format
9
Documentation and Manuals Documentation −Software Requirements Specification −Design Document −Project Plan −Technical Report Manuals −User Manual −Maintenance Manual
10
Challenges ANTLR −Version 2 (available grammar) vs. Version 3 (would require modifying grammar) −Learning ANTLR Complexity of Rules Scoping Releases −How much can be done/is required for each sprint
11
What Went Well Scrum meetings −Increased team productivity ANTLR −Made parsing and checking AST easy Rule design −Each rule as a subclass of the C grammar −Easy to split work among team members
12
Room for Improvement ANTLR research −More team member involvement −Group practice sessions Starting scrum meetings earlier in the project
13
Future Goal of 35-40 rules complete within next few weeks −Vast majority high priority rules −Original goal of around 45 rules 20092-3 senior project group will resume project −Documentation ensures its not a difficult task −Should be able to complete remaining rules After completion can be an open-source product −Maintainable and usable for years to come Free and viable alternative to commercial compliance checkers −Usable by FDA to keep “compliant” companies in check
14
Demo Video Demonstration
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.