Presentation is loading. Please wait.

Presentation is loading. Please wait.

Miser-C MISRA-C Compliance Checker Ian Biller, Phillippe Dass, Bryan Eldridge, Jon Senchyna, Tracy Thomas Faculty Coach: Professor Michael Lutz Project.

Similar presentations


Presentation on theme: "Miser-C MISRA-C Compliance Checker Ian Biller, Phillippe Dass, Bryan Eldridge, Jon Senchyna, Tracy Thomas Faculty Coach: Professor Michael Lutz Project."— Presentation transcript:

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


Download ppt "Miser-C MISRA-C Compliance Checker Ian Biller, Phillippe Dass, Bryan Eldridge, Jon Senchyna, Tracy Thomas Faculty Coach: Professor Michael Lutz Project."

Similar presentations


Ads by Google