Find your way to and through your old, but precious Mantis applications!
Sample Mantis customer project:
The customer planned to leave Mantis and to replace it by a “brand new” Cobol application. In order to prepare for this migration project, the team needed to understand which parts of the application were really useful and, as a consequence, how many programs, screens and lines of code they would have to convert.
They also wanted to know how to schedule this important project and how to progressively migrate the functionalities from one environment to another. All of this became of particular importance as the project was outsourced and supposed to be managed by an external consulting company.
The analysis, done with our Inventive Analysis tools, provided surprising and very relevant outcomes:
- The number of dead code was very high. Many components were obsolete and others contained mainly commented code only.
- The duplication ratio was very high.
- Best practices guidelines hadn't been consistently respected so that a lot of dependencies were created, which prevented a progressive migration of the functionalities covered by the Mantis code.
Using Inventive Analysis, the client was able to identify all duplicate and dead code and divided by three the number of programs to be migrated. We helped the client to draw a comprehensive map of all connections between all components, which enabled them to outline a well though-out step-by-step migration.
Specific Components for Mantis
(on top of Inventive Analysis’ standard features)
- Dynamic execution of programs
- Detection of comments, screens and Mantis-specific instructions
- Code metrics for programs, entries and variables
- Metrics for incoming and outgoing links
- Number of screens
- Highlights important concepts in the code: WAIT, SHOW, duplicated code and comments
- Annotated list of Mantis entities with the option of filtering desired information (e.g. all entities with duplicated code)
- Cyclomatic complexity, number of links to outside entities, number of lines of code
- Shows transitive dependencies (= direct and indirect dependencies between Mantis entities) via a menu
- Supports evaluation of the impact of changes, i.e. helps determining which part of the system can me migrated without impact
- Analyses both outgoing and incomi ng dependencies of entities
- Provides dedicated rules for any Mantis code base, i.e. for the detection of "WAIT" and "Commit off"
- Detects violations of Mantis language syntax
- Detects any (forbidden) Mantis instructions
- Fine-grained control of software evolution
- Allows advanced queries, i.e. most complex entities in last development cycle, time of introduction of duplicate code
- Analysis trends of metrics over several versions of a particular system
- Allows to understand the characteristics of Mantis entities at an architectural level