INDEPENDENT VERIFICATION AND VALIDATION OF EMBEDDED SOFTWARE



Similar documents
How To Write A Contract For Software Quality Assurance

A Quagmire of Terminology: Verification & Validation, Testing, and Evaluation*

SOFTWARE DEVELOPMENT STANDARD FOR SPACECRAFT

CalMod Design-Build Electrification Services

Overview of STS Consulting s IV&V Methodology

An approach to Return on Investment (ROI) for Independent Verification and Validation (IV&V) at NASA

SOFTWARE ASSURANCE STANDARD

Your Software Quality is Our Business. INDEPENDENT VERIFICATION AND VALIDATION (IV&V) WHITE PAPER Prepared by Adnet, Inc.

PI Team Masters Forum - 2. The Successful Team Composition Engineering of Systems

OPTIMISING PROCESSES OF IT ORGANISATION THROUGH SOFTWARE PRODUCTS CONFIGURATION MANAGEMENT

SOFTWARE CONFIGURATION MANAGEMENT GUIDEBOOK

Software Error Analysis

Criteria for Flight Project Critical Milestone Reviews

Software Engineering Reference Framework

ABSTRACT. I. Introduction. BI software allows the analyst to create automated tools (or queries) that will:

Page 1 of 7 Effective Date: 12/18/03 Software Supplier Process Requirements

Software Quality Subcontractor Survey Questionnaire INSTRUCTIONS FOR PURCHASE ORDER ATTACHMENT Q-201

COMPLIANCE IS MANDATORY

Requirements Management John Hrastar

Software Requirements Management

Information Technology Engineers Examination. Information Security Specialist Examination. (Level 4) Syllabus

Software Verification and Validation

Certification of a Scade 6 compiler

Lecture 8. Systems engineering L E C T U R E. SIMILAR process. Zuzana Bělinová. Faculty of Transportation Sciences, CTU in Prague

Software Engineering Improvement Support Activities

Example Software Development Process.

Software Engineering/Courses Description Introduction to Software Engineering Credit Hours: 3 Prerequisite: (Computer Programming 2).

AP1000 European 18. Human Factors Engineering Design Control Document

THE ROLE OF IV&V IN THE SOFTWARE DEVELOPMENT LIFE CYCLE

Certification Authorities Software Team (CAST) Position Paper CAST-26

A Characterization Taxonomy for Integrated Management of Modeling and Simulation Tools

Project Risk Management: Independent Software QA Ensures Success

From Chaos to Clarity: Embedding Security into the SDLC

Using TechExcel s DevSuite to Achieve FDA Software Validation Compliance For Medical Software Device Development

How To Write Software

Security Controls Assessment for Federal Information Systems

3SL. Requirements Definition and Management Using Cradle

Process Models and Metrics

CONSOLIDATED VERSION IEC Medical device software Software life cycle processes. colour inside. Edition

Systems Development Life Cycle (SDLC)

Presenters: Glen Elliott and Bryan Johnson

The Effort Distribution Pattern Analysis of Three Types of Software Quality Assurance Activities and Process Implication: an Empirical Study

Integration Technologies Group (ITG) ITIL V3 Service Asset and Configuration Management Assessment Robert R. Vespe Page 1 of 19

R214 SPECIFIC REQUIREMENTS: INFORMATION TECHNOLOGY TESTING LABORATORY ACCREDITATION PROGRAM

System Development Life Cycle Guide

SIS Functional Design 15 minutes

Automated Software Testing Economics: A White Paper

Implementation of ANSI/AAMI/IEC Medical Device Software Lifecycle Processes.

Project Risk Management: IV&V as Insurance for Project Success

What is a life cycle model?

Get Confidence in Mission Security with IV&V Information Assurance

Aircraft & Defense Vehicle Simulation Lab

Measuring the Maturity of Robotic Planetary Mission Concepts II

應 用 測 試 於 軟 體 發 展 生 命 週 期. Testing In The Software Development Life Cycle

Introduction to Systems Analysis and Design

8. Master Test Plan (MTP)

SOFTWARE MANAGEMENT PROGRAM. Software Testing Checklist

Verification and Validation of Software Components and Component Based Software Systems

Automated Spacecraft Scheduling The ASTER Example

Vdot A Revolutionary Tool for Space Logistics Campaign Planning and Simulation

Information Technology Policy

An Increase in Software Testing Robustness: Enhancing the Software Development Standard for Space Systems

Requirements Traceability. Mirka Palo

SCADE Suite in Space Applications

STS Federal Government Consulting Practice IV&V Offering

SoftwareCostEstimation. Spring,2012

Methodology: Agile development of safety critical systems Annex D1.1.d to deliverable D1.1

Certification Authorities Software Team (CAST) Position Paper CAST-13

Overview of the System Engineering Process. Prepared by

Christie Price Subcontract Administrator Lockheed Martin Corporation South Wadsworth Blvd. Littleton, CO 80125

Certified Software Quality Engineer (CSQE) Body of Knowledge

NODIS Library Program Formulation(7000s) Search

Software Quality Assurance Plan

The!Art!and!Science of!systems!engineering *

CONFIGURATION MANAGEMENT PLAN GUIDELINES

QUALITY MANAGEMENT SYSTEM MANUAL

Software Quality Management

System Development and Life-Cycle Management (SDLCM) Methodology. Approval CISSCO Program Director

PROJECT MANAGEMENT PLAN TEMPLATE < PROJECT NAME >

Software and Hardware Configuration Management

Automated Module Testing of Embedded Software Systems

Data Validation and Data Management Solutions

NASA OFFICE OF INSPECTOR GENERAL

Formal Software Testing. Terri Grenda, CSTE IV&V Testing Solutions, LLC

Weighted Total Mark. Weighted Exam Mark

Information Technology Management Marshall Space Flight Center

Essentials of the Quality Assurance Practice Principles of Testing Test Documentation Techniques. Target Audience: Prerequisites:

Effective Methods for Software and Systems Integration

CMS Policy for Configuration Management

IEC Functional Safety Assessment. Project: K-TEK Corporation AT100, AT100S, AT200 Magnetostrictive Level Transmitter.

AUDIT REPORT NASA DATA CENTER GENERAL CONTROLS JOHNSON SPACE CENTER

How To Integrate Software And Systems

GENCO Systems Inc Germantown Road, Suite 300, Fairfax, VA 22030, Phone

International Association of Scientific Innovation and Research (IASIR) (An Association Unifying the Sciences, Engineering, and Applied Research)

DO-254 Requirements Traceability

Request for Proposal for Application Development and Maintenance Services for XML Store platforms

Highlights & Next Steps

Transcription:

PREFERRED RELIABILITY PRACTICES PRACTICE NO. PD-ED-1228 PAGE 1 OF 6 INDEPENDENT VERIFICATION AND VALIDATION OF EMBEDDED SOFTWARE Practice: To produce high quality, reliable software, use Independent Verification and Validation (IV&V) in an independent, systematic evaluation process throughout the software life cycle. Using the IV&V process; locate, identify, and correct software problems and errors early in the development cycle. Benefit: The use of IV&V processes ensures that computer software is developed in accordance with original specifications, that the software performs the functions satisfactorily in the operational mission environment for which it was designed, and that it does not perform unintended functions. Identification and correction of errors early in the development cycle are less costly than identification and correction of errors in later phases, and the quality and reliability of software are significantly improved. Center to Contact for More Information: Marshall Space Flight Center (MSFC) Programs That Certified Usage: Apollo Launch Vehicles and Engines, and Space Shuttle Elements, Payloads, and Experiments. Implementation: Independent verification and validation is defined as a series of technical and management activities performed by someone other than the developer of a system to improve the quality and reliability of that system and to assure that the delivered product satisfies the user s operational needs. Verification is an iterative process aimed at determining whether the product of each step in the development cycle (a) fulfills all of the requirements levied on it by the previous step and (b) is internally complete, consistent, and correct enough to support the next phase. Validation is the process of executing the software to exercise the hardware, and comparing the results to the required performance. Embedded software is software that is designed to execute in a computational device to control or perform a specific process in support of an end item. End item examples include payloads, vehicles, experiments, MARSHALL SPACE FLIGHT CENTER

PAGE 2 OF 6 flight avionics, ground support equipment, and other mission support activities such as mission, payload, and science operations. It could also be incorporated into laboratory experiments or simulations such as training, verification, or breadboard simulators. Embedded software is not used for general purpose computing applications. Some of the technical and management activities included in IV&V for embedded software are: requirements analysis and tracing; peer reviews; status monitoring and reporting; walk-throughs; dynamic analysis; simulations; risk analysis; code inspection; software library maintenance; audits; and IV&V testing using software analysis tools. These activities come into play during the various phases of the software development life cycle, and are usually documented in a family of reports as shown on Figure 1. Figure 1. Synchronizing IV&V with the Software Development Life Cycle

PAGE 3 OF 6 Although the IV&V is generally concurrent with the software developer s life cycle phases, the completion of the IV&V corresponding phases lags the completion of the software development phase slightly as shown on Figure 1. Typical key IV&V functions that are performed in each phase are summarized as follows: 1. Concept Analysis Phase: Documentation that is produced in the software development conceptual phase is independently evaluated. These documents include the statement of work, advanced planning reports, project initiation descriptions, and feasibility study reports. The allocation of functions to hardware and software elements, and the criticality of each software element are assessed. 2. Requirements Analysis Phase: Software requirements are verified through independent derivation of requirements, comparison to standard reference systems, functional simulations, and timing and sizing analysis. A software requirements traceability analysis and a software interface analysis are performed. A system test plan is developed, and acceptance test requirements are established. IV&V software is designed, and requirements analysis phase reports are prepared. 3. Design Analysis Phase: A number of techniques are used to verify the satisfaction of software requirements. These techniques include correlation of traceability between design elements, functional simulations, independent derivation of equations and algorithms, comparison with standard references and models, analysis of interfaces, and identification and development of a software test program. Design analysis techniques to be used for any particular function are dependent on the nature of the function (such as filtering, display output, and device interfacing). For example, logic analysis techniques are appropriate for executive control functions while mathematical methods are better suited for numerical functions. The proposed design of each software function is verified by using the selected method to determine the extent to which it satisfies the corresponding software requirements. Control logic is similarly verified to ensure proper interaction between software functions. 4. Implementation Analysis Phase: During this IV&V phase, two parallel activities are performed: (1) coding analysis and (2) testing. Coding analysis includes version comparison, textual and syntactical analysis, standards auditing, equation reconstruction, data structure analysis, flow charting, logic reconstruction, manual code inspection, traceability analysis, interface analysis, and database analysis. Software tools are employed to automate many of these program analysis techniques. They are used to help identify actual or potential errors in the developed code, and to reformat and consolidate information to facilitate manual analysis,

PAGE 4 OF 6 software tools present a reliable, cost-effective means to supplement manual program analysis techniques. To maximize the visibility of software development quality, coding analysis is performed in parallel with code development. Coding analysis is achieved by analyzing the incremental code deliveries and modifications introduced in the updated program versions. Testing analysis includes the application of independent tests performed to determine compliance with software and system requirements. Component testing and interface testing are planned for both nominal and extreme conditions within the required performance limits. 5. Independent Verification and Validation Phase: Simulation, testing, inspection and computer-aided software verification and validation are performed during this phase. Problem reports are prepared which identify anomalies in formal documentation, source code analysis, software database analysis, and the software developer s test results. Component test results and interface test results are documented. 6. System Integration Analysis Phase: The credibility of the system in its operational environment is established in this phase. In this phase, the final results of the software development effort are evaluated after the software has been fully tested in IV&V, and all problems and discrepancies have been corrected. During this IV&V phase, integration, system, and acceptance tests are performed in a serial fashion to validate the software. 7. Operational and Maintenance Analysis Phase: The validated system is placed under configuration control during installation, checkout, operation, and maintenance. IV&V functions during the operation and maintenance analysis phase include monitoring problems reported and ensuring that they are resolved according to established configuration management procedures. Outputs of this phase are IV&V problem reports, installation and checkout reports, configuration management reports, and flight software problem reports. Technical Rationale: IV&V has proven to be a necessary function for software projects of all sizes, but is particularly important in large, critical software packages. Although the level of IV&V performed will be proportional to project size, its performance in embedded flight software projects is widely considered to be mandatory.

PAGE 5 OF 6 Impact of Nonpractice: Failure to perform IV&V for software projects could result in software system weaknesses, performance of unintentional functions, and failure of the system and the mission. Anything less than a methodical, systematic rigorous treatment of IV&V could cause loss of mission, life, and valuable resources. References: 1. Lewis, Robert O.: "Independent Verification and Validation." John Wiley & Sons, Publishers, New York, NY, 1992. 2. "MSFC Software Management and Development Requirements Manual." MM8075, George C. Marshall Space Flight Center, Huntsville, AL, January 21, 1991. 3. "IEEE Guide for the Use of IEEE Standard Dictionary of Measures to Produce Reliable Software." IEEE Standard No. 982.2-1988, Institute of Electrical and Electronics Engineers, New York, NY, June 12, 1989. 4. "IEEE Standard Dictionary of Measures to Produce Reliable Software." IEEE Standard No. 982.1-1988, Institute of Electrical and Electronic Engineers, New York, NY, April 30, 1989. 5. Beizer, Boris: "Software Testing Techniques, Second Edition." Van Nostrand Reinhold, New York, NY, 1990. 6. Perry, William E.: "How to Test Software Packages." John Wiley & Sons, Publishers, New York, NY, 1986. 7. Hollocker, Charles P.: "Software Reviews and Audits Handbook." John Wiley & Sons, Publishers, New York, NY, 1990. 8. Wallace, Dolores R. and Fujii, Roger F.: "Software Verification and Validation: Its Role in Computer Assurance and Its Relationship with Software Project Management Standards." NIST Special Publication No. 500-165, National Institute of Standards and Technology, Gaithersburg, MD, September 1989.

PAGE 6 OF 6 9. Tauswarthe, Robert C.: "A General Software Reliability Process Simulation Technique." JPL Publication No. 91-7, Jet Propulsion Laboratory, Pasadena, CA, April 1, 1991. 10. "Cost-Effectiveness of Software Independent Verification and Validation." NASA RTOP No. 323-51-72, Jet Propulsion Laboratory, Pasadena, CA, October 15, 1985.