Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Miser-C MISRA-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 Technologies • ANTLR – – – • Lexer/parser generator Runtime library C Grammars Java 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 Current State of Design • Completed – • Activity Diagram In Progress – Class Diagram 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 Current Project Status • Tasks In Progress – – Grammar Design Software Architecture Design 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 Demo • (Link to demo) Questions?