Advanced Software Automation's Hindsight Toolset
Date: Wed, 7 Dec 94 10:44:30 PST
From: tony@asa10.hindsight.com (Tony M. Cardoso)
Hindsight is a software re-engineering tool ideal for development,
testing, and maintenance. Hindsight speeds software development and
maintenance by analyzing existing code, then graphically representing
its logic in interactive structure charts, diagrams, and reports.
Hindsight also pinpoints deficiencies in existing code through test
coverage, run-time performance, and complexity analyses. The
following new features make Hindsight even more powerful and
efficient:
- memory error detection that requires no recompiling or relinking
- flow chart generation with the click of a button
- module tester that generates driver and stubs to facilitate
independent unit testing
- report generator that allows you to customize your report
contents and formats
Hindsight is comprised of the following three integrated modules that
can also be used independently. Customize module combinations to meet
your unique requirements.
View code hierarchy in an intuitive color graphic. Isolate subtrees
to the lowest level. Find global and static variable occurrences
and usage easily. Identify invisible segments. The graphical
interface to dbx lets you point and click while debugging. Open
an edit window to access and modify source code directly. The
incremental language analyzer updates changes promptly. Generate
complete design documentation automatically in over 25 reports,
charts, and tables. View many different reports including global,
local, and static variable usage, calls to and from functions,
uncalled functions, and label usage.
Options in the ASA 20/20 family include:
- FLOW CHARTER
-
Click a button and ASA 20/20 gives you a flowchart of any module
on the structure chart. Access and modify the source code and
see the changes instantly.
- MODULE TESTER
- Use the module tester to build driver and stubs and do independent
unit testing. Merge the test coverage data as each unit or module
is tested.
- REPORT GENERATOR
- Specify which source code attributes to print for technical and
quality reports. Design your own table and chart formats.
- MEMLIGHT
- Use Memlight to detect memory errors such as: memory leaks,
freeing unallocated memory, accessing freed memory, and reading/
writing beyond array bounds.
Use over 15 quality metrics to measure attributes such as cyclomatic
complexity, fan-in, fan-out, fan-out square, and function size.
Define maximum and minimum guidelines for each metric and use
customized metrics to ensure consistent code quality throughout
entire program or project. Generate graphical, ranked listing
to identify and focus on the most complex modules. Use the
exception report to quickly identify functions that do not
conform to your guidelines.
Use selective instrumentation to choose individual segments for
testing. Use logical paths to design test suites to concentrate
on the paths most critical to your program. Eliminate redundant
test cases with test case minimization. Identify and address
performance "bottlenecks". Simulate system and user-defined
functions to test hard to reach areas and achieve your test
coverage goal.