90 likes | 105 Views
Office of Safety and Mission Assurance Software Assurance Symposium 2002 Berkeley Springs, WV. MSFC Avionics Department Flight Software Group CMM Level 2 Certified Automated Software Coding Standards System.
E N D
Office of Safety and Mission Assurance Software Assurance Symposium 2002 Berkeley Springs, WV MSFC Avionics Department Flight Software Group CMM Level 2 Certified Automated Software Coding Standards System Development Team Assessment Team Luis Trevino Michael Rahmatipour Luis Lopez, CTO, FlowLynx Inc. Marlyn Terek Emma Eduok (Summer Intern) September 04-06, 2002
MSFC Avionics Department, Flight Software GroupAutomated Software Coding Standards System Best Practices, Past Successful Projects, Other References 3. FlowCode Agents 2. FlowCode System 1. Source Code: C Files • 4. Peer Review Artifacts • Collaborative Website System • Metrics/Standards Reports • Flowchart Visualization of • Inspected Code
MSFC Avionics Department, Flight Software Group Automated Software Coding Standards System Coding Standards and Rules • Standard Rules • Filenames 1 • Include Files (layout) 4 • Function Layout 6 • Indentation 8 • Brace Placement 6 • White Space Usage 15 • Naming Convention 64 • Scope 5 • Macros 6 • Globals 2 • Function Layout 5 • Include Files (.h) 4 • Pointers 5 • Control Flow 19 150 Total
MSFC Avionics Department, Flight Software Group Automated Software Coding Standards System Coding Standards Reporting
MSFC Avionics Department, Flight Software Group Automated Software Coding Standards System Metrics Reporting
MSFC Avionics Department, Flight Software Group Automated Software Coding Standards System Development & Validation Process Development of ED14 Coding Standards Document Spring 2000 15K Effort With Flowlynx Inc. To Develop Prototype With Seven Rules Fall 2000 Seven Rules Validated Against Real Flight Software and Coding Standards Document. Effort Featured In April 2001 Issue of Military & Aerospace Electronics Magazine Implementable Coding Standards Identified And Effort Continued With Quarterly Status to IV&V Center Fall 2001 / Winter 2002 Proposal to Code Q OSMA And Awarded 71K To Continue Development of Coding Standards Tool Summer / Fall 2001 80% of The Rules Implemented And 70% Validated By Assessment Team Using Coding Standards Document and Flight Software. Verified No False “Passed” Rules And All “Failed” Rules Were Legitimate Summer/Sept. 2002 85% of The Rules Implemented And Validated End of Sept. 2002 • Analyze Remaining Rules • For Implementation • Tool Enhancement: Rule • Modification, Metrics, • Reporting, Languages • Training • Fall 02 – Winter 03
Task Description March April July Sept Notes 1 Coding Standard Rules Identified & Associated System Requirements (%) >50 60 70 85 Some of the rules are subjective and difficult to implement. 2 Capability of System to Implement Identified Rules (%) 60 70 80 100 3 Implementation of Identified Rules (%) 17 (6/35) 30 50 100 4 Validation of Implemented Rules (%) 16 (1/6) 33 46 100 MSFC Avionics Department, Flight Software GroupAutomated Software Coding Standards System Status
MSFC Avionics Department, Flight Software GroupAutomated Software Coding Standards System Conclusions Tool Benefits • Enforce Repeatability In Software Development Processes • Accelerate Learning Curve for New Programmers • Minimize Software Errors From Becoming Potentially Larger Costly Errors • Source Code Maintainability and Code Reuse • Increased Technical Insight on Contractor Developed Source Code • Tool for all Levels of Software Personnel to Support Development, Analysis, and Maintenance of Code • Software Code Peer Reviews and Code Walkthroughs • Visual Code (Flowcharts) Easier To Review & Inspect Over Text Other Benefits Being Implemented • Applicable To All Computer Language Domains • Will Support End User Specifications For Implementing and Maintaining Standards and Metrics • Will Support Inclusion of LINT, GLINT, SPLINT, and RATS
MSFC Avionics Department, Flight Software GroupAutomated Software Coding Standards System Conclusions • Comparison To Other Tools • This system compares to other tools. Major features that differ: • Static Analyzer • Not Compiler Dependent • Web Based • Multiple User Capability • Ability To View & Edit Source Code • Flowchart of the Code • Reports are Stored & Accessible On-Line • Server Side Computation of Metrics & Standards