SBIR Phase I: OpenRefactory/C: An Infrastructure to Provide Automated Power Tools for C Programmers
Openrefactory, Inc., Milpitas CA
Investigators
Abstract
The broader impact/commercial potential of this Small Business Innovation Research (SBIR) Phase I project is about empowering C program developers with correct and complex program transformation tools that they can use to not only improve the quality of C programs but also make the programs more secure against well-known vulnerabilities. C, in spite of its popularity, has integrated development environments (IDEs) with a limited portfolio of such power tools, with limited scalability and limited applicability to real-world programs. Successfully addressing the limitations present in existing tools and providing a robust program transformation infrastructure should fundamentally change how developers work on C code since refactoring is an integral part of software development practices for other programming languages. This will impact both how C programs are written and how they are maintained and evolved. The proposed work also explored behavior-enhancing program transformations that can fix security vulnerabilities in C programs. The work on behavior-enhancing transformations should open a new paradigm of power tools that can be made available to programmers in general (not limited to C programmers). This Small Business Innovation Research (SBIR) Phase I project will foster the development of new algorithms and data structures needed to implement scalable, robust automated program transformation tools for C. It will focus on the parts of this problem that have been inadequately addressed in prior work - specifically, sound handling of the C preprocessor and deep program analysis. At the same time, the work will address the heterogeneity of C platforms, e.g., different dialects, different configurations based on underlying hardware, different IDEs, etc. The Principle Investigator led an NSF-supported research effort to address the research problems in the last three years and has developed a large research prototype (over 500 KLOC). The proposed work brings many of the research results to practice.
View original record on NSF Award Search →