The purpose of this paper is to describe the ROSE specialized compiler infrastructure and its uses. Hardly a day goes by without multiple news articles re-counting the consequences of failed software. A tragic autonomous vehicle accident, theft of personal information from a “secure” data base, a smart TV that invades privacy, or just the frustration of an application that hangs or reboots at the worst possible moment. The good news is, one of the oldest and most trusted software technologies can solve these present and future software assurance (safety, security, and quality) issues. This paper will focus on the ROSE open source specialized compiler infrastructure and describe how it helps assure that the software we use is safe, secure, and high quality.
Compilers are widely used for software development. In fact, every line of code ever written must be compiled to be useful1 Compilers have been around for over 65 years, the first of which was written in 1951 by Corrado Bohm (University of Rome) for his PhD thesis2. The name “compiler” was later coined by Grace Hopper3 in 19534. They have been such a steady and foundational component of development for so long, we now take compilers for granted and, over time, have become less familiar with their inner workings and their vast potential to meet contemporary and future software challenges.