Automatic Analysis of Legacy Software for Implementation within a Multi-thread, Multi-core Processor System
Navy SBIR 2013.2 - Topic N132-099 NAVAIR - Ms. Donna Moore - [email protected] Opens: May 24, 2013 - Closes: June 26, 2013 N132-099 TITLE: Automatic Analysis of Legacy Software for Implementation within a Multi-thread, Multi-core Processor System TECHNOLOGY AREAS: Air Platform, Information Systems ACQUISITION PROGRAM: PMA 281 OBJECTIVE: Design and develop a software tool that automatically analyzes legacy software patterns and sequences and identifies segments of the code in which execution can be made more efficient through newer technological approaches such as multi-thread, multi-core systems. DESCRIPTION: Currently, there is a significant amount of legacy code that was designed based on older processor legacy hardware. Current legacy code is difficult to reuse since it was primarily written and implemented in a single thread single core processor environment. These software tools and capabilities are unable to take advantage of new functionality like multi-core hardware and multi-threading software and other advanced trends in processor architecture. Several legacy systems based on the Microsoft Component Object Model (COM) architecture written in C, C++, and VB6 are currently being maintained and are being considered for upgrade. These systems can be made available for development, evaluation and test purposes. A software tool capable of facilitating the upgrade of existing software to exploit the benefits of newer processor technologies like multi-core, multi-threading functionality to improve throughput and timeliness of software intensive tasks is desired. This tool should provide an automatic recording of the output to help facilitate improved implementations, applying various innovative mathematical techniques, such as the ability to analyze and transform a centralized software system and allow it to operate with a series of parallel and simultaneous processes. Initial tool development should be directed toward the MS Visual Studio COM architecture for Phase I. However, the tool should be designed for ease of use and integration with other software languages. Successful development of this tool will save programming time in upgrading existing legacy code and minimize developing of new software to replace legacy systems. PHASE I: Design, develop and demonstrate the feasibility of a tool capable of analyzing legacy software and automatically identifying segments of code where performance efficiencies are possible. PHASE II: Further refine and develop a prototype for a specific software language and demonstrate its effectiveness on legacy code, identifying sections of that legacy code that are apt for specific and concrete enhancements/improvements. Prototype evaluation and testing will be conducted using legacy code from existing programs. PHASE III: Finalize tool development and implement where needed. Transition fully operational software tool to appropriate users. PRIVATE SECTOR COMMERCIAL POTENTIAL/DUAL-USE APPLICATIONS: Any business with legacy code that needs optimized and innovated software to exploit multi-core, multi-threaded operating system functionality would benefit from this product. REFERENCES: 2. Kissel K. (2007). Demystifying multithreading and multi-core. EETimes Design (09/26/2007). http://www.eetimes.com/design/automotive-design/4004762/Demystifying-multithreading-and-multi-core 3. Chen, J., Watson III, W. & Mao, W. (2007). Multi-Threading Performance on Commodity Multi-core Processors. http://www.nikipdf.com/readonline/multi-threading-performance-on-commodity-multi-core-processors.html KEYWORDS: Legacy Code, Multi-Thread, Multi-Core, Analysis, Software Optimization, Throughput
|