Version 10 (modified by 10 years ago) ( diff ) | ,
---|
PathMap
PathMap is an extended unit test runner that provides valuable feedback for software maintenance tasks such as debugging, testing, and program comprehension. This tool that does not only verify test cases but also analyze them in order to provide feedback about test quality, identify failure causes, derive likely invariants, and trace requirements.
Description
Test cases possess a valuable source of information as they implicitly define expected and unexpected behavior all over the system. During the execution of their exemplary assertions, they do not merely cover directly-tested methods but rather large call sequences with corresponding states through internal parts of the system. Based on this idea, we can inductively derive from the specific run-time values of executed tests more generalized properties that can support in several software engineering tasks. For example, our type harvesting exploits test cases to obtain type information for a code base automatically. We derive type data from the concrete objects used during test case executions and provide developers this hidden information to assist in navigating source code and using application programming interfaces (APIs) correctly. By making this hidden test knowledge available, developers have additional information for debugging, testing, and understanding their programs.
PATHMAP We assume that test cases own a hidden and valuable source of information As test cases own a hidden and valuable source of information, this tool supports developers in revealing this data
We have developed an extended test runner called PathMap that supports spectrum- based fault localization within the system structure. It provides a scalable tree map visualization and a low overhead analysis framework that computes spectrum-based anomalies at methods and refines results at statements on demand.
PathMap is our extended test runner that provides valuable feedback for restricting the initial search space. It realizes our structure navigation by computing spectrum-based anomalies and presenting the results in form of a tree map. Based on these results, it integrates our team navigation and its developer ranking metric. In addition to it, developers also start the inductive analysis for our state navigation from here, which harvests passing test cases in order to create contracts.
See also the following tutorials: Test-driven Fault Navigation (Debugging), Test Quality Feedback (Testing), Type Harvesting (Program comprehension), and Requirements Traceability (Program comprehension).
Screenshot
How to Use
- after selecting project... see PathProject
User Interface
Test Runner
test pane, standard buttons, tree map, text boxes
Test Quality Flap
See also Test Quality Tutorial
Profiling Flap
See also Test Quality Tutorial
Fault Localization Flap
See also TDFN Tutorial
Induction Flap
See also TDFN Tutorial and type harvesting
Traceability Flap
See also Traceability Tutorial
Global Options Flap
Attachments (10)
- pathMap.png (62.1 KB ) - added by 10 years ago.
- testQualityFlap.png (11.4 KB ) - added by 10 years ago.
- profilingFlap.png (10.7 KB ) - added by 10 years ago.
- faultLocalizationFlap.png (20.0 KB ) - added by 10 years ago.
- inductionFlap.png (10.7 KB ) - added by 10 years ago.
- traceabilityFlap.png (12.5 KB ) - added by 10 years ago.
- optionsFlap.png (13.4 KB ) - added by 10 years ago.
- pathMapMorphButton1.png (5.7 KB ) - added by 10 years ago.
- pathMapMorphButton2.png (3.6 KB ) - added by 10 years ago.
- pathMapMorphButton3.png (3.7 KB ) - added by 10 years ago.
Download all attachments as: .zip