Close
Close
Close

Software Assurance

The purpose of software assurance is to see that critical software products purchased or developed for a customer meet requirements, operate safely, and are of high quality.


Quality, Safety, Risk, and Reliability

Software assurance includes the disciplines of:

  • Software quality (quality, quality engineering, quality control)
  • Software safety
  • Software reliability
  • Software verification and validation
  • Independent verification and validation

Software risk management and quality metrics provide the discipline to help ensure the quality, safety and reliability of each project or program, regardless of size and complexity.

Software Assurance Solutions

SAIC software assurance team members have experience in working throughout all phases of the life cycle, utilizing analysis methods and tools so that requirements are satisfied and software artifacts are under proper configuration management. SAIC software assurance team members have provided support to NASA's government-furnished equipment International Space Station, Crew Exploration Vehicle, and Space Shuttle programs.

Utilizing proven software assurance tools and techniques, along with extensive experience, SAIC software assurance team members can contribute to the quality and safety of your project or program.

Software Assurance Benefits

Software assurance assists in risk mitigation by minimizing defects and preventing problems and enabling improvements in legacy, current, and future products and services. Our software assurance analysts and engineers analyze product or system risk characteristics with tested and proven software assurance tools and techniques and use our company resources to help projects reduce technical (quality and safety), schedule, and cost risks.

SAIC software assurance engineers have experience throughout the software life cycle. The software life cycle typically begins when a software product is conceived and ends when the software product is retired or replaced. The software life cycle usually includes phases ranging from concept exploration, requirements, design, implementation, and testing to operation and maintenance, and retirement.

Life-cycle Phases Description
Concept exploration/initiation Verify feasibility of the project, perform criticality assessment and identify level of effort (resources, schedule (end-to-end), risk, and safety requirements).
Requirements Participate in development of high-level system and software requirements for control of hazardous conditions within both the hardware and software subsystems. Make sure that high-level hazard controls flow down to lower level software requirements.
Design Check requirements flow down from software requirements to design.
Implementation Confirm that processes and standards agreed to are followed, product conforms to requirements, and configuration management is maintained.
Integration and testing Confirm software (including simulations and models) within the test labs is certified and software test plans include testing of identified hazard controls.
Operations, maintenance and training Analyze all software change papers to verify that no new hazardous conditions are introduced and no hazard controls are violated.
Retirement Confirm close-out plan is followed, including a successor/replacement system, if applicable, (verify that replacement system is capable of assuming the role of the retiring system).

Why SAIC?

SAIC software assurance engineers have experience in identifying potential issues and understanding the requirements throughout software life-cycle phases of a project/program. SAIC continues to provide NASA and other government agencies end-to-end expertise in software safety, quality, reliability, verification and validation. This proven software assurance experience facilitates application and success in other complex systems and disciplines.