Search NASA⌕ Search

SEARCH · Search NASA

Results for “certification coding”

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.

At least 19 records

AutoBayes/CC: Combining Program Synthesis with Automatic Code Certification: System Description

Code certification is a lightweight approach to formally demonstrate software quality. It concentrates on aspects of software quality that can be defined and formalized via properties, e.g., operator safety or memory safety. Its basic idea is to require code producers to provide formal proofs that their code satisfies these quality properties. The proofs serve as certificates which can be checked independently, by the code consumer or by certification authorities, e.g., the FAA. It is the idea underlying such approaches as proof-carrying code [6]. Code certification can be viewed as a more practical version of traditional Hoare-style program verification. The properties to be verified are fairly simple and regular so that it is often possible to use an automated theorem prover to automatically discharge all emerging proof obligations. Usually, however, the programmer must still splice auxiliary annotations (e.g., loop invariants) into the program to facilitate the proofs. For complex properties or larger programs this quickly becomes the limiting factor for the applicability of current certification approaches.

Whalen, Michael↗

Synthesizing Safety Conditions for Code Certification Using Meta-Level Programming

In code certification the code consumer publishes a safety policy and the code producer generates a proof that the produced code is in compliance with the published safety policy. In this paper, a novel viewpoint approach towards an implementational re-use oriented framework for code certification is taken. It adopts ingredients from Necula's approach for proof-carrying code, but in this work safety properties can be analyzed on a higher code level than assembly language instructions. It consists of three parts: (1) The specification language is extended to include generic pre-conditions that shall ensure safety at all states that can be reached during program execution. Actual safety requirements can be expressed by providing domain-specific definitions for the generic predicates which act as interface to the environment. (2) The Floyd-Hoare inductive assertion method is refined to obtain proof rules that allow the derivation of the proof obligations in terms of the generic safety predicates. (3) A meta-interpreter is designed and experimentally implemented that enables automatic synthesis of proof obligations for submitted programs by applying the modified Floyd-Hoare rules. The proof obligations have two separate conjuncts, one for functional correctness and another for the generic safety obligations. Proof of the generic obligations, having provided the actual safety definitions as context, ensures domain-specific safety of program execution in a particular environment and is simpler than full program verification.

Eusterbrock, Jutta↗

Software Certification - Coding, Code, and Coders

We describe a certification approach for software development that has been adopted at our organization. JPL develops robotic spacecraft for the exploration of the solar system. The flight software that controls these spacecraft is considered to be mission critical. We argue that the goal of a software certification process cannot be the development of "perfect" software, i.e., software that can be formally proven to be correct under all imaginable and unimaginable circumstances. More realistically, the goal is to guarantee a software development process that is conducted by knowledgeable engineers, who follow generally accepted procedures to control known risks, while meeting agreed upon standards of workmanship. We target three specific issues that must be addressed in such a certification procedure: the coding process, the code that is developed, and the skills of the coders. The coding process is driven by standards (e.g., a coding standard) and tools. The code is mechanically checked against the standard with the help of state-of-the-art static source code analyzers. The coders, finally, are certified in on-site training courses that include formal exams.

training↗

Certification Validation Libraries

“The code “Certificate Validation Libraries” provides the ability to validate x509 certificates in python using a simple library. These libraries validate certificates in 3 ways: 1) validation that certificate has not expired. 2) validation that certificate has not been revoked and 3) validation of certificate's digital signature. The benefits of this code is that one can properly validate x509 certificates, thus strengthening the security of systems using these libraries.”

Maerz, StefanA↗

Synthesizing Certified Code

Code certification is a lightweight approach to demonstrate software quality on a formal level. Its basic idea is to require producers to provide formal proofs that their code satisfies certain quality properties. These proofs serve as certificates which can be checked independently. Since code certification uses the same underlying technology as program verification, it also requires many detailed annotations (e.g., loop invariants) to make the proofs possible. However, manually adding theses annotations to the code is time-consuming and error-prone. We address this problem by combining code certification with automatic program synthesis. We propose an approach to generate simultaneously, from a high-level specification, code and all annotations required to certify generated code. Here, we describe a certification extension of AUTOBAYES, a synthesis tool which automatically generates complex data analysis programs from compact specifications. AUTOBAYES contains sufficient high-level domain knowledge to generate detailed annotations. This allows us to use a general-purpose verification condition generator to produce a set of proof obligations in first-order logic. The obligations are then discharged using the automated theorem E-SETHEO. We demonstrate our approach by certifying operator safety for a generated iterative data classification program without manual annotation of the code.

Whalen, Michael↗

Development of Corrosion Resistant Coatings for Structural Materials for Liquid Fueled Molten Salts Reactors Applications (Final Report)

Current structural alloys, code certified for the MSRs temperature ranges, contain high levels of chromium, making them highly susceptible to molten halide salt corrosion. One potential solution to circumvent the need for code certification of novel alloys, which is expensive and time consuming, is to design claddings that will protect the underlying code certified materials from corrosion damage during operation. In this work, we examined the corrosion of Ni and Cu electroplated, Ni and CuNi weld overlay, Mo-laser clad, and carburized claddings on SS316H for use in molten salt reactor environments. After characterization of the cladded materials (Task 1), static corrosion tests were used to assess corrosion resistance of the claddings in typical molten fluoride salts (Task 2). The corrosion tests were performed in molten FLiNaK at 700°C up to 1000 hours. Pre- and post-corrosion Scanning Electron Microscopy (SEM), energy-dispersive-spectroscopy (EDS), Transmission Electron Microscopy (TEM), X-ray Diffraction (XRD) and glow-discharge-optical-emission-spectroscopy (GDOES) were performed on cladding cross-sections and surfaces to evaluate degradation. The Cu and Ni electroplated samples, as well as the carburized samples, showed excellent corrosion resistance relative to the bare SS316H. To assess high temperature cladding stability, ageing experiments were performed at temperatures up to 900 C in inert atmosphere for the electroplated and carburized samples and a diffusion model was developed to predict long term cladding behavior (Task 3). It was found that the Cu cladding was basically insensitive to the high temperature ageing, except for small secondary phases forming at the interface. On the other hand, the Ni electroplated cladding experienced significant interdiffusion. Nevertheless, the gain in corrosion resistance for a 100μm Ni electroplated cladding is phenomenal, with more than 50% reduction in chromium dissolution from the substrate material for the first 15 years of salt exposure at 700°C. To assess radiation resistance and phase stability, high-temperature 4MeV Ni heavy ion irradiation was performed across the cladding/substrate interface up to 50 displacement-per-atom (DPA) at 500°C and 700°C to assess the phase stability and irradiation behaviors of the electroplated systems (Task 4). The Ni and Cu electroplated systems did not experience void swelling at the contrary to the SS316H substrate due to their nanocrystalline nature. Some level of recrystallization was observed in the cladding, as well as radiation induced segregation and enhanced diffusion. The interface acted as a potent sink for point defects with the presence of a void denuded zone. The mechanical properties of the claddings were assessed using thermal shock, micro-indentation, nano-indentation, and four-point bend testing experiments (Task 5). These experiments were performed on the claddings in as-received, corroded, irradiated, and thermally aged states to determine the effects of typical molten salt reactor environments on cladding integrity. No significant mass loss was observed after repeated thermal shocks. While the electroplated samples softened after high-temperature ageing, irradiation hardening compensate this effect, such that there is little different with the as-received materials. The results of these experiments suggest that the electroplated (copper/nickel) show the greatest promise for application in molten salt reactor development. These claddings prevented any chromium dissolution from occurring during the static corrosion experiments. Additionally, they demonstrated favorable properties for high temperature diffusion, phase stability, interfacial mechanical properties, and irradiation resistance. Weld-overlay cladding are also of great interest and could reach properties similar to the electroplated samples upon optimization (especially with multiple weld passes). The carburized SS316H showed excellent behavior as well, but more work needs to be done to assess their long-term stability. Finally, the Mo-laser clad system was not pursued further due to the manufacturing challenges. It is also worth noting that the Ni cladding systems should behave relatively well in terms of weldability since the Ni-weld overlay microstructure and associated corrosion rate are sound. While the NiCu weld-overlay has even lower corrosion rates than the Ni-weld overlay, more studies on welding of Cu-electroplated systems are necessary since Cu clusters are known to embrittle steels.

36 MATERIALS SCIENCE↗

Proceedings of the Third International Workshop on Proof-Carrying Code and Software Certification

This NASA conference publication contains the proceedings of the Third International Workshop on Proof-Carrying Code and Software Certification, held as part of LICS in Los Angeles, CA, USA, on August 15, 2009. Software certification demonstrates the reliability, safety, or security of software systems in such a way that it can be checked by an independent authority with minimal trust in the techniques and tools used in the certification process itself. It can build on existing validation and verification (V&V) techniques but introduces the notion of explicit software certificates, Vvilich contain all the information necessary for an independent assessment of the demonstrated properties. One such example is proof-carrying code (PCC) which is an important and distinctive approach to enhancing trust in programs. It provides a practical framework for independent assurance of program behavior; especially where source code is not available, or the code author and user are unknown to each other. The workshop wiII address theoretical foundations of logic-based software certification as well as practical examples and work on alternative application domains. Here "certificate" is construed broadly, to include not just mathematical derivations and proofs but also safety and assurance cases, or any fonnal evidence that supports the semantic analysis of programs: that is, evidence about an intrinsic property of code and its behaviour that can be independently checked by any user, intermediary, or third party. These guarantees mean that software certificates raise trust in the code itself, distinct from and complementary to any existing trust in the creator of the code, the process used to produce it, or its distributor. In addition to the contributed talks, the workshop featured two invited talks, by Kelly Hayhurst and Andrew Appel. The PCC 2009 website can be found at http://ti.arc.nasa.gov /event/pcc 091.

Ewen, Denney, W.↗

The aerospace plane design challenge: Credible computational fluid dynamics results

Computational fluid dynamics (CFD) is necessary in the design processes of all current aerospace plane programs. Single-stage-to-orbit (STTO) aerospace planes with air-breathing supersonic combustion are going to be largely designed by means of CFD. The challenge of the aerospace plane design is to provide credible CFD results to work from, to assess the risk associated with the use of those results, and to certify CFD codes that produce credible results. To establish the credibility of CFD results used in design, the following topics are discussed: CFD validation vis-a-vis measurable fluid dynamics (MFD) validation; responsibility for credibility; credibility requirement; and a guide for establishing credibility. Quantification of CFD uncertainties helps to assess success risk and safety risks, and the development of CFD as a design tool requires code certification. This challenge is managed by designing the designers to use CFD effectively, by ensuring quality control, and by balancing the design process. For designing the designers, the following topics are discussed: how CFD design technology is developed; the reasons Japanese companies, by and large, produce goods of higher quality than the U.S. counterparts; teamwork as a new way of doing business; and how ideas, quality, and teaming can be brought together. Quality control for reducing the loss imparted to the society begins with the quality of the CFD results used in the design process, and balancing the design process means using a judicious balance of CFD and MFD.

Mehta, Unmeel B.↗

Deriving Safety Cases for the Formal Safety Certification of Automatically Generated Code

We present an approach to systematically derive safety cases for automatically generated code from information collected during a formal, Hoare-style safety certification of the code. This safety case makes explicit the formal and informal reasoning principles, and reveals the top-level assumptions and external dependencies that must be taken into account; however, the evidence still comes from the formal safety proofs. It uses a generic goal-based argument that is instantiated with respect to the certified safety property (i.e., safety claims) and the program. This will be combined with a complementary safety case that argues the safety of the framework itself, in particular the correctness of the Hoare rules with respect to the safety property and the trustworthiness of the certification system and its individual components. Keywords: Automated code generation, Hoare logic, formal code certification, safety case, Goal Structuring Notation.

Basir, Nurlida↗

Role of Wind Tunnels and Computer Codes in the Certification and Qualification of Rotorcraft for Flight in Forecast Icing

The cost and time to certify or qualify a rotorcraft for flight in forecast icing has been a major impediment to the development of ice protection systems for helicopter rotors. Development and flight test programs for those aircraft that have achieved certification or qualification for flight in icing conditions have taken many years, and the costs have been very high. NASA, Sikorsky, and others have been conducting research into alternative means for providing information for the development of ice protection systems, and subsequent flight testing to substantiate the air-worthiness of a rotor ice protection system. Model rotor icing tests conducted in 1989 and 1993 have provided a data base for correlation of codes, and for the validation of wind tunnel icing test techniques. This paper summarizes this research, showing test and correlation trends as functions of cloud liquid water content, rotor lift, flight speed, and ambient temperature. Molds were made of several of the ice formations on the rotor blades. These molds were used to form simulated ice on the rotor blades, and the blades were then tested in a wind tunnel to determine flight performance characteristics. These simulated-ice rotor performance tests are discussed in the paper. The levels of correlation achieved and the role of these tools (codes and wind tunnel tests) in flight test planning, testing, and extension of flight data to the limits of the icing envelope are discussed. The potential application of simulated ice, the NASA LEWICE computer, the Sikorsky Generalized Rotor Performance aerodynamic computer code, and NASA Icing Research Tunnel rotor tests in a rotorcraft certification or qualification program are also discussed. The correlation of these computer codes with tunnel test data is presented, and a procedure or process to use these methods as part of a certification or qualification program is introduced.

Flemming, Robert J.↗

Cassini Solstice Mission Maneuver Experience: Year One

The Cassini-Huygens spacecraft began its four-year Prime Mission to study Saturn's system in July 2004. Two tour extensions followed: a two-year Equinox Mission beginning in July 2008 and a seven-year Solstice Mission starting in September 2010. This paper highlights Cassini maneuver activities from June 2010 through June 2011, covering the transition from the Equinox to Solstice Mission. This interval included 38 scheduled maneuvers, nine targeted Titan flybys, three targeted Enceladus flybys, and one close Rhea flyby. In addition, beyond the demanding nominal navigation schedule, numerous unforeseen challenges further complicated maneuver operations. These challenges will be discussed in detail.

training↗

Software Certification and Software Certificate Management Systems

Incremental certification and re-certification of code as it is developed and modified is a prerequisite for applying modem, evolutionary development processes, which are especially relevant for NASA. For example, the Columbia Accident Investigation Board (CAIB) report 121 concluded there is "the need for improved and uniform statistical sampling, audit, and certification processes". Also, re-certification time has been a limiting factor in making changes to Space Shuttle code close to launch time. This is likely to be an even bigger problem with the rapid turnaround required in developing NASA s replacement for the Space Shuttle, the Crew Exploration Vehicle (CEV). Hence, intelligent development processes are needed which place certification at the center of development. If certification tools provide useful information, such as estimated time and effort, they are more likely to be adopted. The ultimate impact of such a tool will be reduced effort and increased reliability.

Denney, Ewen↗

Second Annual Transformative Vertical Flight Concepts Workshop: Enabling New Flight Concepts Through Novel Propulsion and Energy Architectures

On August 3rd and 4th, 2015, a workshop was held at the NASA Ames Research Center, located at the Moffett Federal Airfield in California to explore the aviation communities interest in Transformative Vertical Flight (TVF) Concepts. The Workshop was sponsored by the AHS International (AHS), the American Institute of Aeronautics and Astronautics (AIAA), the National Aeronautics and Space Administration (NASA), and hosted by the NASA Aeronautics Research Institute (NARI). This second annual workshop built on the success and enthusiasm generated by the first TVF Workshop held in Washington, DC in August of 2014. The previous Workshop identified the existence of a multi-disciplinary community interested in this topic and established a consensus among the participants that opportunities to establish further collaborations in this area are warranted. The desire to conduct a series of annual workshops augmented by online virtual technical seminars to strengthen the TVF community and continue planning for advocacy and collaboration was a direct outcome of the first Workshop. The second Workshop organizers focused on four desired action-oriented outcomes. The first was to establish and document common stakeholder needs and areas of potential collaborations. This includes advocacy strategies to encourage the future success of unconventional vertiport capable flight concept solutions that are enabled by emerging technologies. The second was to assemble a community that can collaborate on new conceptual design and analysis tools to permit novel configuration paths with far greater multi-disciplinary coupling (i.e., aero-propulsive-control) to be investigated. The third was to establish a community to develop and deploy regulatory guidelines. This community would have the potential to initiate formation of an American Society for Testing and Materials (ASTM) F44 Committee Subgroup for the development of consensus-based certification standards for General Aviation scale vertiport capable flight systems. These standards need to accommodate novel fixed wing concepts that do not fit within the existing Federal Aviation Administration (FAA) rotorcraft certification framework (Code of Federal Regulations, Title 14, Chapter I, Subchapter C, Part 27). The fourth desired outcome was to launch an information campaign to ensure key U.S. Government agencies understand the potential benefits and industry interest in establishing new vertiport capable flight markets. This record of the Workshop proceedings documents Workshop activities and products including summaries of the video recorded technical presentations, overviews of three breakout sessions (Missions Operational Concepts, Prioritized Technical Challenges, Regulatory Roadmap), and a preliminary draft roadmap framework for TVF.

V/STOL↗

Automatic Certification of Kalman Filters for Reliable Code Generation

AUTOFILTER is a tool for automatically deriving Kalman filter code from high-level declarative specifications of state estimation problems. It can generate code with a range of algorithmic characteristics and for several target platforms. The tool has been designed with reliability of the generated code in mind and is able to automatically certify that the code it generates is free from various error classes. Since documentation is an important part of software assurance, AUTOFILTER can also automatically generate various human-readable documents, containing both design and safety related information. We discuss how these features address software assurance standards such as DO-178B.

Denney, Ewen↗

Measuring Impact: Evaluating Thermal Zoning Simplification on Energy Efficiency Measures Analysis

Building Energy Modeling (BEM) is a versatile tool for designing, retrofitting, ensuring code compliance, obtaining certifications, qualifying for incentives, and enabling real-time building control. However, capturing all the details of building geometry for thermal zoning can be time-consuming, costly, and sometimes computationally challenging. As a result, modelers have been applying zoning simplification based on factors such as space functions and internal loads, as well as relying on their experience and judgment while adhering to zoning rules outlined in industry standards. Despite the prevalence of this common practice, a notable gap exists in the literature regarding studies quantifying the influence of simplified thermal zoning on the evaluation of Energy Efficiency Measures (EEMs). Recognizing this gap, this paper seeks to contribute to the field by enhancing the understanding of how the simplification of thermal zoning influences the evaluation of EEMs against a baseline design. The study utilized a medium office prototype model with a detailed floor plan featuring over 20 zones per floor covering diverse functional spaces with varying internal loads and occupancy schedules. A standard thermal zoning strategy outlined in ASHRAE Standard 90.1 Appendix G was employed as the simplified zoning method. This strategy condenses the zoning into a core zone and four perimeter zones per floor. It was compared with the detailed zoning approach, which involves one zone per space. Common Energy EEMs, such as enhanced envelope, high-efficiency appliances and equipment, and HVAC controls, were individually implemented and evaluated. The results indicate that the performance comparison between the two zoning methods varies depending on the type of measures considered. Basic measures, such as adding wall insulation, demonstrate similar energy impacts, while advanced HVAC control measures, such as static pressure reset, exhibit a more substantial difference that cannot be overlooked.

Xie, Jiarong↗

Towards PCC for Concurrent and Distributed Systems (Work in Progress)

We outline some conceptual challenges in extending the PCC paradigm to a concurrent and distributed setting, and sketch a generalized notion of module correctness based on viewing communication contracts as economic games. The model supports compositional reasoning about modular systems and is meant to apply not only to certification of executable code, but also of organizational workflows.

Henriksen, Anders S.↗