Changes between Version 9 and Version 10 of path:pathMap


Ignore:
Timestamp:
12/13/2013 10:44:14 AM (10 years ago)
Author:
michael.perscheid
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • path:pathMap

    v9 v10  
    88== Description ==
    99 
    10 
    11 
    12 Apart from the new perspective on one specific test case, we also consider the relationship between several test cases and reveal their hidden knowledge. 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 through internal parts of the system. With an entire analysis and comparison of all behavior and state details on these
     10Test cases possess a valuable source of information as they implicitly define expected and unexpected behavior all over the system.
     11During 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.
     12Based 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.
     13For example, our [wiki:path:tutorial:typeHarvesting type harvesting] exploits test cases to obtain type information for a code base automatically.
     14We 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.
     15By making this hidden test knowledge available, developers have additional information for debugging, testing, and understanding their programs.
    1316
    1417
    1518
    16 Each test case path includes numerous method calls and state changes which are a valuable but hidden source of information for several software engineering activities. During their execution, test cases check not only the explicit assertions in their definitions but also establish implicit assertions in all other used program entities. As long as test cases finish with correct results, we assume that everything on their execution paths is also valid1. Thus, we can inductively derive from the specific and correct run-time values more generalized properties that reveal these implicit assertions. With this hidden test knowledge, developers have additional information for understanding their programs. For example, our type harvesting exploits test cases to obtain type information for a code base automatically [103]. 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.
    1719
    1820
    19 
     21PATHMAP
    2022We assume that test cases own a hidden and valuable source of information
    21 
    22 
    2323As test cases own a hidden and valuable source of information, this tool supports developers in revealing this data
    24 
    25 
    26 
    27 We start with the essential assumption that test cases yield a hidden and valuable source of information
    28 hidden knowledge
    29 
    3024
    3125We 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.