miser-c misra-c compliance checker ian biller, phillippe dass, bryan eldridge, jon senchyna, tracy...
Post on 20-Dec-2015
232 views
TRANSCRIPT
Miser-CMISRA-C Compliance Checker
Ian Biller, Phillippe Dass, Bryan Eldridge, Jon Senchyna, Tracy Thomas
Summary
• Client: US Food and Drug Administration• MISRA-C Compliance Checker
– Intended Use • Medical Device Industry• Open Source Community
– System Output
Scope
• Parse compilable C code • Checkable vs. Uncheckable Rules• Prioritization of rules• Open Source Release
Context
• Design/Implementation Constraints– Language restricted to Java– Restricted to freely available
components– Final product is stand-alone system
• Operating Environment– Java Virtual Machine (JVM) – Support Java 1.4 or higher
Features
• Check C Source-Code Files for Violations• XML Output of Violations and Consequences• XML Error Report• Configuration of Rules Subset• Configuration of Acceptable File Extensions
Process Methodology
• Bits and Pieces of Scrum– Only have 20 weeks for Senior Project– Time-boxed software development– 30 day sprints need to be 14 day sprints– 6 releases planned– Backlog
• High transparency
Process Methodology
• Metrics being tracked used for size of sprint– If too much time per rule, cut scope of
successive releases
Schedule
• Software release 1 scheduled for end of week 1
• Subsequent software releases every two weeks.
• Implementing backlog will depend on results of metrics.
Requirements Elicitation
• Four Phases– Domain Analysis– Brainstorming– Interview– Review
• Low Volatility
Requirements
• Documentation• Software Requirements Specification• Use-Case Specification• Product Backlog• Sprint Backlog
Design Process
• Documentation– Model Diagrams
• Activity Diagram• Class Diagram
• Modeling Languages– UML
Task Estimation
• New domain/technology• Complexity and size• Track actual time spent• Update estimates based on metrics
Metrics
• Individual Effort• Team Effort• Effort per Task• Number of Rules Met• Development Time per Rule
Risks
• Risk Management• High-impact Risks
– Research takes too long– Incorrect estimates– No suitable C grammar available
Versioning Tradeoffs
• Use version 2• GNU C Grammar written in Version 2• Less work up front
• Convert to version 3• ANTLRWorks• Other ANTLR features• More testing required
Current Project Status
• Completed Tasks– Website– Process Methodology– Project Plan– Software Requirements Specification– ANTLR Research– MISRA Rule Prioritization– Prototype
Planned for Spring Quarter
• Completion of Architecture Design • Incremental Releases of Rules• Testing Plan• User Documentation• Configuration Utilities
Lessons Learned
• Importance of Methodology• Transparency greatly increases
productivity• Allow for adequate review time• Set concrete goals