Perspectives on software assurance
Explore the source record for details and available documents.
SEARCH · Engineering Papers
Search indexed NASA NTRS and DOE OSTI research on propulsion, heat transfer, battery materials and energy systems. Follow report and document links to the original sources.
Quote a phrase for an exact phrase match. Source license links do not imply unrestricted reuse.
Explore the source record for details and available documents.
No abstract available
New processes, methods and tools are constantly appearing in the field of software engineering. Many of these augur great potential in improving software development processes, resulting in higher quality software with greater levels of assurance. However, there are a number of obstacles that impede their infusion into software development practices. These are the recurring obstacles common to many forms of research. Practitioners cannot readily identify the emerging techniques that may most benefit them, and cannot afford to risk time and effort in evaluating and experimenting with them while there is still uncertainty about whether they will have payoff in this particular context. Similarly, researchers cannot readily identify those practitioners whose problems would be amenable to their techniques and lack the feedback from practical applications necessary to help them to evolve their techniques to make them more likely to be successful. This paper describes an ongoing effort conducted by a software engineering research infusion team, and the NASA Research Infusion Initiative, established by NASA s Software Engineering Initiative, to overcome these obstacles.
Research in the software engineering community continues to lead to new development techniques that encompass processes, methods and tools. However, a number of obstacles impede their infusion into software development practices. These are the recurring obstacles common to many forms of research. Practitioners cannot readily identify the emerging techniques that may benefit them, and cannot afford to risk time and effort evaluating and trying one out while there remains uncertainty about whether it will work for them. Researchers cannot readily identify the practitioners whose problems would be amenable to their techniques, and, lacking feedback from practical applications, are hard-pressed to gauge the where and in what ways to evolve their techniques to make them more likely to be successful. This paper describes an ongoing effort conducted by a software engineering research infusion team established by NASA s Software Engineering Initiative to overcome these obstacles. .
Research in the software engineering community continues to lead to new development techniques that encompass processes, methods and tools. However, a number of obstacles impede their infusion into software deveopment practices. This paper describes an ongoing effort conducted by a software engineering research infusion team established by NASA's Software Engineering Intiative to overcome these obstacles.
Presents a source code analysis tool (CodeSonar) for use in the Space Network Ground Segment. The Space Network requires 99.9% proficiency and 97.0% availability of systems. Software has historically accounted for an annual average of 28% of the Space Network loss of availability and proficiency. CSCI A and CSCI B account for 42% of the previous eight months of software data loss. The technology infusion of CodeSonar into the Space Network Ground segment is meant to aid in determining the impact of the technology on the project both in the expenditure of effort and the technical results of the technology. Running a CodeSonar analysis and performing a preliminary review of the results averaged 3.5 minutes per finding (approximately 20 hours total). An additional 40 hours is estimated to analyze the 37 findings deemed too complex for the initial review. Using CodeSonar's tools to suppress known non-problems, delta tool runs will not repeat findings that have been marked as non-problems, further reducing the time needed for review. The 'non-interesting' finding rate of 70% is a large number, but filtering, search, and detailed contextual features of CodeSonar reduce the time per finding. Integration of the tool into the build process may also provide further savings by preventing developers from having to configure and operate the tool separately. These preliminary results show the tool to be easy to use and incorporate into the engineering process. These findings also provide significant potential improvements in proficiency and availability on the part of the software. As time-to-fix data become available a better cost trade can be made on person hours saved versus tool cost. Selective factors may be necessary to determine where best to apply CodeSonar to balance cost and benefits.
In traditional software development methodologies, operational and functional requirements of systems are often specified in structured natural language notations. These restricted notations provide good documentation support, but only provide limited support for semantic analysis. These notations are generally not rich enough to unambiguously specify the requirements of safety-critical systems that, for example, involve complex numerical computations or that interact with the physical environment. Examples of these safety-critical systems are autonomous vehicles such as unmanned aircraft systems. This talk advocates the use of expressive formal logics, such as higher-order logic, to specify the operational and functional requirement of unmanned systems and to prove the correctness of these requirements. Semantic analysis of requirements written in higher-order logic is supported through the use of interactive theorem provers. Formal models serve as ideal reference implementations of functional requirements. Hence, formal logics enable software validation techniques where software implementations can be checked against functional requirements in a mechanical way. The Formal Methods group in the Safety-Critical Avionics Systems Branch at NASA Langley Research Center has conducted research on the development and application of formal verification techniques to safety-critical applications of interest to NASA for more than 30 years. This talk illustrates the use of formal methods in the development of highly-assured autonomous unmanned aircraft systems.
Software inspections are a set of formal technical review procedures held at selected key points during software development in order to find defects in software documents--is described in terms of history, participants, tools, procedures, statistics, and database analysis.
Being heavily visually-oriented, I am a firm believer in communication and conveying emotions through the art of color, motion, and transformation. A four-part online training course was created in PowerPoint and needed to be translated over into a Flash format. Issues with the Powerpoint were that the size of the files caused noticeable delays when placed online, there were compatibility issues, and from a composition and design perspective, color schemes and layout left much to be desired. High contrast, pixilated yellow text spiraling and flying on to a background of overly rich hues of blue with cheesy gradient patterns was just not appeasing to my eye, along with the menu directory buttons located at the top resembling blue pills of NyQuil on top of a stale gray border that had nothing to do with the background. The course itself is extremely broad and verbose, and will get monotonous very soon after starting. Moving about the course was very cumbersome as well. efficient by drastically reducing the size (The file size of all four parts of the actual course combined will ultimately not even be a fifth as big as one part of the original PowerPoint alone!); along with that, the course was made to be more interactive and user-friendly, as well as pleasing to the eye. Upon being viewed by fellow co-workers, nothing but positive feedback has been received. When beginning the presentation, onscreen comes a 3' 2" chubby, balding professor, who is a master in his knowledge of Programmable Logic Controllers (PLCs). He introduces himself and presents all of his vast knowledge over PLCs in a fun and innovative manner, making it much easier to acquire the information presented. A Scene Selection feature has been added making it a lot easier to jump from part to part and the back and forth arrows are much easier to utilize, and they are both less obtrusive than its PowerPoint predecessor. The user can also go at their pace, as the presentation pauses after at the end of each statement. computer animation, it was.. .still. ..animation done on a computer. I was able to incorporate my artistic talent and intuitive creativity into it, one thing I am very proficient at doing when it comes to what I do and what I will do in my profession as an artist/computer animator. At first, I felt that there was no place for an artist within a faculty of scientists, engineers, chemists, mathematicians, and programmers, but I managed to fit in quite successfully. My task was to convert the course into a Flash format, which would make it much more My project surprisingly somewhat dealt with my field of interest-though it was not
No abstract available
No abstract available
Agile software development is prevalent throughout the Government, and NASA is no exception. NASA's Orion spacecraft is being developed to return Astronauts to the moon in the next 5 years, and the role of software in achieving the ambitious mission objectives has expanded dramatically in the last few decades. This presentation is the story of how the Independent Verification and Validation team for Orion adapted to the Agile approach that the Orion Program was using to develop the flight software. Consider attending this session if you are working with software developers utilizing Agile development approaches, or are interested in learning about Agile and Lean principles that could help improve communication within your own team.
Examples of gaps include difficulties to specify safety requirements, coverage of training and test sets for deep learning, and the missing explainability of decisions made by autonomous AI systems.
Explore the source record for details and available documents.
The evolution of software assurance is discussed. The definition and implementation of standards are considered. It is recommended that requirements be clarified at the start of a project. The need for quality assurance in hardware is identified as the coming trend in the production of high cost single units which call for eradication of all errors during the early stages of development. The need to apply quality assurance throughout the whole mission is stressed. The dangers of overpricing product assurance services is stressed.
Software Quality Assurance (SQA) is a planned and systematic set of activities that ensures conformance of software life cycle processes and products conform to requirements, standards and procedures. In software development, software quality means meeting requirements and a degree of excellence and refinement of a project or product. Software Quality is a set of attributes of a software product by which its quality is described and evaluated. The set of attributes includes functionality, reliability, usability, efficiency, maintainability, and portability. Software Metrics help us understand the technical process that is used to develop a product. The process is measured to improve it and the product is measured to increase quality throughout the life cycle of software. Software Metrics are measurements of the quality of software. Software is measured to indicate the quality of the product, to assess the productivity of the people who produce the product, to assess the benefits derived from new software engineering methods and tools, to form a baseline for estimation, and to help justify requests for new tools or additional training. Any part of the software development can be measured. If Software Metrics are implemented in software development, it can save time, money, and allow the organization to identify the caused of defects which have the greatest effect on software development. The summer of 2004, I worked with Cynthia Calhoun and Frank Robinson in the Software Assurance/Risk Management department. My task was to research and collect, compile, and analyze SQA Metrics that have been used in other projects that are not currently being used by the SA team and report them to the Software Assurance team to see if any metrics can be implemented in their software assurance life cycle process.
As space mission software systems become larger and more complex, it is increasingly important for the software assurance effort to have the ability to effectively assess both the artifacts produced during software system development and the development process itself. Conceptually, assurance is a straightforward idea - it is the result of activities carried out by an organization independent of the software developers to better inform project management of potential technical and programmatic risks, and thus increase management's confidence in the decisions they ultimately make. In practice, effective assurance for large, complex systems often entails assessing large, complex software artifacts (e.g., requirements specifications, architectural descriptions) as well as substantial amounts of unstructured information (e.g., anomaly reports resulting from testing activities during development). In such an environment, assurance engineers can benefit greatly from appropriate tool support. In order to do so, an assurance organization will need accurate and timely information on the tool support available for various types of assurance activities. In this paper, we investigate the current use of tool support for assurance organizations within NASA, and describe on-going work at JPL for providing assurance organizations with the information about tools they need to use them effectively.