This talk is about automated code analysis and transformation tools to support scientific computing.
Code bases are difficult to manage because of size, age, or safety requirements. Tools can help scientists and IT engineers understand their code, locate problems, improve quality. Tools can also help transform the code, by implementing complex refactorings, replatforming, or migration to a modern language.
Such tools are themselves difficult to build. This talk describes DMS, a meta-tool for building software analysis tools. DMS is a kind of generalized compiler, and can be configured to process arbitrary programming languages, to carry out arbitrary analyses, and to convert specifications into running code. It has been used for a variety of purposes, including converting embedded mission software in the US B-2 Stealth Bomber, providing the US Social Security Administration with a deep view how their 200 millions lines of COBOL are connected, and reverse-engineering legacy factory process control code into high-level models.
The talk will sketch the key technology ideas behind DMS, and discuss a few of the applications above, including automated optimization, parallelization and refactoring of C++ and Fortran code.
Dr. Ira Baxter has been building system software since 1969, when he implemented a timesharing system on Data General Nova minicomputers. He studied software reuse techniques at the Schlumberger Laboratory for Computer Science, where he built tools to generate seismic wave modelling codes, and lead the compiler team for the Rockwell Control Logix industrial controller. In the late 1990s, Dr. Baxter started Semantic Designs, to package and deliver automated meta-tools. He has since acted as CTO and CEO for the company. Dr. Baxter also leads an active role in the Software Engineering research community, having the most widely referenced technical paper on software clone detection. He is travelling to CERN from the Working Conference on Reverse Engineering, having given an invited keynote talk at its software language engineering workshop.