Taphos: Modernizing the Approach to Modifying Large Scale Legacy Software in Cyber-Physical Systems

Following our previous blog post, The Next Assembly Line, Galois continues our quest to invent tooling that can transform the DevOps process for developing and maintaining software. One of the unwritten pieces of common knowledge in software is that software rarely meets the models of design as implemented. As such, the notion of utilizing modern, model-based engineering approaches continues to elude software development. As the development of cyber-physical systems (CPS), such as automobiles, aircraft, medical devices and more, move toward digital-first approaches utilizing model-based systems engineering (MBSE) techniques, the gap between models and code is now being exposed. We cannot automate and improve the correctness of our safety-critical systems in a time-efficient manner without these models. 


Currently, Galois is providing thought leadership in this space as a performer on the Defense Advanced Research Projects Agency (DARPA) Verified Security and Performance Enhancement of Large Legacy Software (V-SPELLS) program.  For this program, Galois is building tooling to support the systems engineering process by enabling MBSE for modification of software legacy systems. While Galois is creating three unique tooling capabilities for this program, Taphos, a tool that automates the process of generating SysML and AADL models from legacy code, is showing early promise to have transformational impacts. 


In a recent demonstration, Taphos was able to apply its program analysis capabilities on a C/C++ open-source code base that comprised approximately 800,000 lines of code, over 5,800 functions, and 56 separate components. In roughly five minutes with some human input, Taphos generates a model of this code in either SysML or AADL. With a little refinement the model can be used to support MBSE practices. So what impact does this auto-generated model have on day-to-day engineers?  We are working with our partners at Ansys to answer this question. Once the model is generated, we can utilize code generation tools, such as the Ansys Scade Suite, to auto-generate code for safety-critical use cases. In fact, it is even possible to generate certifiable code for strict standards such as DO-178C and military safety and security standards. 

As Galois continues our effort under V-SPELLs, we will advance the completeness of the program analysis capabilities and work with our spin-out company Tangram Flex to productize and offer its capabilities for licensing under the Tangram Flex brand. The goal will be to ensure that these capabilities transition beyond the DARPA V-SPELLS effort to government and industry customers.