The Design Metrics Analyzer for SDL
The Design Metrics Analyzer for SDL has
been developed to automate metrics collection and calculation for SDL systems.
This tool improves the metrics collection by ensuring the accuracy of metrics calculation
and by minimizing the interface with the existing workload of a software engineer.
The DMA for SDL currently collects metrics including the Zage's design metrics.
Reports
There are three types of reports generated by the execution of the DMA for SDL:
1) Stress Point Reports
2) Content Information Reports
3) Metric Reports
Stress Point Reports
The Research team has developed and tested our design metrics for over ten years and has found them to be excellent predictors of error-prone components. Our technology yields a list of stress points, which are components that are considered to be error-prone or difficult for developers. This analysis is performed at the state, transition, and procedure level to provide the software engineer with the smallest localization of design information. A set analysis is also performed in which components identified as stress points by one, two, or all three of the design metrics De, Di, D(G) are grouped into sets. This total analysis assists software engineers in determining which components in a system need to be reexamined. The set analysis can be customized by a practitioner to include any of the metrics that the tool collects.
Content Information Reports
From the given input, the DMA for SDL also generates a variety of content reports. The content information reports that are produced are named unit information, files analyzed, and variable table. The unit information report (see example below) is a textual summary of information available about each design component. To determine which files were included in the execution of the tool, the files analyzed report would be reviewed. Also included here is the physical line count for each file. The variable table report contains all variables, sorts, their type, location of their declaration, and a list of design components that access or modify them.
Metrics Reports
For each design component, 80 design and code metrics are listed.
Example of One Design Unit Listed in the Unit Information Report
STATE TRANSITION *
IN STATE * IN PROCESS VIEWER
IN FILE sdl_vendor_out
Starts on line 418*
Ends on line 427
CALLS (times) :
(none)
INPUT SIGNALS:
INPUT SHOWTXT LINE 418
Sender (s) :
STATE TRANSITION CONTENTS (STATUS)
LINE 137
IN STATE CONTENTS
IN PROCESS CONTROL
IN BLOCK DIALOGUE
IN SYSTEM TOFFEEVENDOR
IN FILE sdl_vendor
STATE TRANSITION PAYMENT (TIMEOUT)
line 156
IN STATE PAYMENT
IN PROCESS CONTROL
IN BLOCK DIALOGUE
IN SYSTEM TOFEEVENDOR
IN FILE sdl_vendor
STATE TRANSITION MONEY (UNAVAIL)
Line 143
IN STATE MONEY
IN PROCESS CONTROL
IN BLOCK DIALOGUE
IN SYSTEM TOFFEEVENDOR
IN FILE sdl_VENDOR
STATE TRANSITION MONEY (AVAIL)
Line 151
IN STATE MONEY
IN PROCESS CONTROL
IN BLOCK DIALOGUE
IN SYSTEM TOFFEEVENDOR
IN FILE sdl_vendor
STATE TRANSITION *(MAINT)
Line 185
IN STATE *
IN PROCESS CONTROL
IN BLOCK DIALOGUE
IN SYSTEM TOFFEEVENDOR
IN FILE sdl_vendor
STATE TRANSITION * (FILLED)
LINE 192
IN STATE *
IN PROCESS CONTROL
IN BLOCK DIALOGUE
IN SYSTEM TOFFFEEVENDOR
IN FILE sdl_vendor
OUTPUT SIGNALS:
OUTPUT DISP1 421
Receiver (s) ;
ENV;
NEXTSTATE (times) :
IDLE (1)
JOINS:
GRST1 Line: 422
VARIABLES OUTSIDE OF SCOPE ACCESSED:
BRKDWN: declared in DIALOGUE
MSG: declared in VIEWER
| METRIC NAME |
VALUE** |
| DE |
26 |
| DI |
2 |
| DG |
28 |
| VAR_IN |
2/td>
|
| DATA_IN |
8 |
| TOTAL_FANIN |
6 |
| TOTAL_FANOUT |
3 |
| DSM |
1 |
| NO_VARIABLES_ACCESSED |
3
|
| PHYSICAL_LINES |
8 |
| BLANK_LINES |
1 |
| NCNB |
DECISION_STMTS |
1 |
| JOIN_STMTS |
1 |
| NEXTSTATE_STMTS |
1 |
| INPUT_STMTS |
1 |
| OUTPUT_STMTS |
1 |
| JOINS |
1 |
| NEXTSTATE |
1 |
| SIGNAL_FANIN |
6 |
| SIGNAL_FANOUT |
1 |
* Line number will be replaced with #SDTREF if provided with SDT’s prm output
** Only non-zero values are displayed
Integration
The DMA for SDL can be incorporated seamlessly into the Telelogic’s Tau tool set by using Telelogic’s API to incorporate a metrics option on its main window.
For more information contact:
wmz@cs.bsu.edu
© Copyright, 2001, Design Metrics Research Team, Ball State University, All Rights Reserved.