USA flag logo/image

An Official Website of the United States Government

Refactor++ Software Engineering Tool

Award Information

Department of Energy
Award ID:
Program Year/Program:
2011 / SBIR
Agency Tracking Number:
Solicitation Year:
Solicitation Topic Code:
62 c
Solicitation Number:
Small Business Information
13171 Pond Springs Road Austin, TX 78729-7102
View profile »
Woman-Owned: No
Minority-Owned: No
HUBZone-Owned: No
Phase 1
Fiscal Year: 2011
Title: Refactor++ Software Engineering Tool
Agency: DOE
Contract: DE-FG02-11ER90159
Award Amount: $149,869.00


C++ is a key software technology for programming embedded systems and sophisticated applications, widely used for mathematical modeling codes fundamental to modern physics and engineering. Such codes are complex, often requiring high performance, and are built over long periods as scientists come and go. A significant problem that delays obtaining results for science applications is the scientist & apos;s task of understanding and modifying such applications. Often, functional changes to the code require structural modifications, commonly called refactorings. C++ is notoriously difficult to manipulate mechanically. Existing C++ refactoring tools are unreliable and have inappropriate functionality for use with C++ modeling codes. Thus they are unusable in practice for these applications. In this SBIR proposal, Semantic Designs (SD) will develop Refactor++, an effective C++ refactoring tool using SD & apos;s C++ front end and its DMS program transformation foundation. Refactor++ will operate on large, complex, real C++ modeling codes supporting all facilities of C++ including preprocessing, the proposed C++0x standard, OpenMP and MPI libraries. Analysis and transformation of multi-million line C++ code bases demands considerable random-access storage and is computationally expensive. SD will research and implement state of the art global flow analysis algorithms relevant to C++0x and will develop parallelism constructs, that are key to supporting accurate analysis and refactorings.SD will implement a number of traditional refactorings (Rename, Move) and some focused specifically on scientific computing (Abstract to Template, Parallelize Blocks, De-clone, Infer Pre/Post conditions). Because of the synergy of flow analysis to support refactoring with program analysis, SD will provide additional program analysis tools to the scientist, from where is X used? to what computations feed into X (program slices) and why can & apos;t I parallelize A and B? SD will produce Refactor++ by integrating this analysis and refactoring capability with interactive editing under several popular editors/IDEs widely used for C++ development platforms in the physics world. Commercial Applications and Other Benefits: Scientists, physicists and software engineers using this tool will be able to modify and enhance their applications with less effort and higher reliability. Refactor++ will help them produce more understandable code, shorten their development cycles, and develop codes that are more readily enhanced and maintained over their long lifetimes. Scientists will be better equipped to acquire a deeper understanding of fundamental physics.

Principal Investigator:

Ira Baxter Baxter

Business Contact:

Ira Baxter
Small Business Information at Submission:

Semantic Designs Inc.
13171 Pond Springs Road Austin, TX 78729-7012

EIN/Tax ID: 742762312
Number of Employees:
Woman-Owned: No
Minority-Owned: No
HUBZone-Owned: No