DMS Software Reengineering Toolkit

From Wikipedia, the free encyclopedia

The DMS Software Reengineering Toolkit is a set of tools available from Semantic Designs for automating custom source program analysis, modification, translation or generation of software systems for arbitrary mixtures of source languages for large scale software systems.

DMS has been used to implement a wide variety of practical tools, include test coverage and profiling tools, clone detection, migration of languages, code generation for factory control, and C++ component reengineering.

The Toolkit provides means for defining language parsers producing abstract syntax trees (ASTs), prettyprinters to convert ASTs back into compilable source text, attribute evaluators for computing analyses over ASTs, both procedural and rule driven syntax tree transformations, symbol table construction, control flow and data flow analysis engines.

It has a variety of predefined language front ends, covering most real dialects of C and C++, Verilog, VHDL, COBOL and some 20+ other languages. Predefined languages enable customizers to immediately focus on their reengineering task rather than on the details of the languages to be processed.

DMS is additionally unusual in being implemented in a parallel programming language, PARLANSE, that uses symmetric multiprocessors available on commodity workstations. This enables DMS to provide faster answers for large system analyses and conversions.

DMS was motivated by a theory for maintaining designs of software called Design Maintenance Systems.

(DMS and "Design Maintenance System" are registered trademarks of Semantic Designs)

[edit] External links