Possible Applications of the DMS Software Reengineering Toolkit

Where could DMS be applied?

DMS can enable an organization to carry out a variety of useful analyses and modifications on a large system. We list some ideas below.

Program modification

Program Analysis

  • Metrics: SLOC, Statement counts, cyclomatic complexity, cohesion/coupling measures, language construct counting.
  • Test Coverage: Determining what part of an application has NOT been tested
  • Profilers: Finding execution-time hot spots in code
  • Organization style checking: Comment headers, disallowed code constructs.
  • Programming information extraction: Smart Source Browers, Slices, Call Graphs, Side effects, Architecture analysis
  • Domain information extraction: Business rules, Idiom recognition.
  • Semantic Faults: erroneous/dead/useless code.

Domain-specific program generation

  • Partial Differential Equation solvers
  • Factory control synthesis
  • Entity-Relationship compilers, including data base conversion generators
  • Protocol compilers
  • Automated Test Generation
  • Generation of fast XML parsers from DTDs/Schemas

Legacy code reverse engineering

  • Design recovery to domain abstractions
  • Incremental design capture
  • reusable component extraction
  • component extraction for domains
  • Legacy mergers: unify application data schemas, convert existing data
  • Business rule extraction: make them explicit, easy to read/change

Semantic Designs would be pleased to help your organization assess the possibility of any of these or other activities. Contact [email protected]

For more information: [email protected]    Follow us at Twitter: @SemanticDesigns

Software Reengineering
Toolkit