You are here

Refactor++ Software Engineering Tool

Award Information
Agency: Department of Energy
Branch: N/A
Contract: DE-FG02-11ER90159
Agency Tracking Number: 97658
Amount: $149,869.00
Phase: Phase I
Program: SBIR
Solicitation Topic Code: 62 c
Solicitation Number: DE-FOA-0000413
Timeline
Solicitation Year: 2011
Award Year: 2011
Award Start Date (Proposal Award Date): 2011-06-17
Award End Date (Contract End Date): 2012-05-16
Small Business Information
13171 Pond Springs Road
Austin, TX 78729-7012
United States
DUNS: 884365610
HUBZone Owned: No
Woman Owned: No
Socially and Economically Disadvantaged: No
Principal Investigator
 Ira Baxter Baxter
 Mr.
 (512) 250-1018
 idbaxter@semanticdesigns.com
Business Contact
 Ira Baxter
Title: Mr.
Phone: (512) 250-1018
Email: 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. *

US Flag An Official Website of the United States Government