Refactor++ Software Engineering Tool

Award Information
Agency:
Department of Energy
Branch
n/a
Amount:
$149,869.00
Award Year:
2011
Program:
SBIR
Phase:
Phase I
Contract:
DE-FG02-11ER90159
Award Id:
n/a
Agency Tracking Number:
97658
Solicitation Year:
2011
Solicitation Topic Code:
62 c
Solicitation Number:
DE-FOA-0000413
Small Business Information
13171 Pond Springs Road, Austin, TX, 78729-7012
Hubzone Owned:
N
Minority Owned:
N
Woman Owned:
N
Duns:
884365610
Principal Investigator:
Ira Baxter Baxter
Mr.
(512) 250-1018
idbaxter@semanticdesigns.com
Business Contact:
Ira Baxter
Mr.
(512) 250-1018
idbaxter@semanticdesigns.com
Research Institution:
Stub




Abstract
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.

* information listed above is at the time of submission.

Agency Micro-sites


SBA logo

Department of Agriculture logo

Department of Commerce logo

Department of Defense logo

Department of Education logo

Department of Energy logo

Department of Health and Human Services logo

Department of Homeland Security logo

Department of Transportation logo

Enviromental Protection Agency logo

National Aeronautics and Space Administration logo

National Science Foundation logo
US Flag An Official Website of the United States Government