[ANN] The Path Tools Framework

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
13 messages Options
Reply | Threaded
Open this post in threaded view
|

[ANN] The Path Tools Framework

Michael Perscheid
Hi all,

I’m pleased to announce the release of our Path Tools Framework that has been developed
during the last five years as part of my dissertation.

https://www.hpi.uni-potsdam.de/hirschfeld/trac/SqueakCommunityProjects/wiki/pathToolsFramework

The Path Tools Framework comprises several development tools for supporting typical software
maintenance tasks such as debugging, testing, and program comprehension. It realizes among
others our test-driven fault navigation (a systematic debugging approach that leads developers
from the observable failure back to root causes), test quality feedback (improve software quality
by analyzing test cases), and model-based source code editing (single source development
method that joins model-driven development and standard source code editing).

As there are several tools and use cases, we will provide more detailed information in following
announcements. Nevertheless, all tools are already available and can be tested. Furthermore,
there is also a bunch of documentation, screencasts, and published papers.

http://www.michaelperscheid.de/projects/index.html

Have fun :-)

Best regards,
Michael

---
Dr.-Ing. Michael Perscheid
[hidden email]

http://www.michaelperscheid.de/


Reply | Threaded
Open this post in threaded view
|

Re: [ANN] The Path Tools Framework

garduino
Fantastic Michael, thanks you very much for sharing.

I casually found the page a few time ago, when asked about the page of PathView, because I know that in the Hasso Platner pages always can found interesting stuff :)

Regards.
Germán.

2014-02-22 14:19 GMT-03:00 Michael Perscheid <[hidden email]>:
Hi all,

I’m pleased to announce the release of our Path Tools Framework that has been developed
during the last five years as part of my dissertation.

https://www.hpi.uni-potsdam.de/hirschfeld/trac/SqueakCommunityProjects/wiki/pathToolsFramework

The Path Tools Framework comprises several development tools for supporting typical software
maintenance tasks such as debugging, testing, and program comprehension. It realizes among
others our test-driven fault navigation (a systematic debugging approach that leads developers
from the observable failure back to root causes), test quality feedback (improve software quality
by analyzing test cases), and model-based source code editing (single source development
method that joins model-driven development and standard source code editing).

As there are several tools and use cases, we will provide more detailed information in following
announcements. Nevertheless, all tools are already available and can be tested. Furthermore,
there is also a bunch of documentation, screencasts, and published papers.

http://www.michaelperscheid.de/projects/index.html

Have fun :-)

Best regards,
Michael

---
Dr.-Ing. Michael Perscheid
[hidden email]

http://www.michaelperscheid.de/







Reply | Threaded
Open this post in threaded view
|

Re: [ANN] The Path Tools Framework

Frank Shearar-3
In reply to this post by Michael Perscheid
On 22 February 2014 17:19, Michael Perscheid
<[hidden email]> wrote:

> Hi all,
>
> I’m pleased to announce the release of our Path Tools Framework that has been developed
> during the last five years as part of my dissertation.
>
> https://www.hpi.uni-potsdam.de/hirschfeld/trac/SqueakCommunityProjects/wiki/pathToolsFramework
>
> The Path Tools Framework comprises several development tools for supporting typical software
> maintenance tasks such as debugging, testing, and program comprehension. It realizes among
> others our test-driven fault navigation (a systematic debugging approach that leads developers
> from the observable failure back to root causes), test quality feedback (improve software quality
> by analyzing test cases), and model-based source code editing (single source development
> method that joins model-driven development and standard source code editing).
>
> As there are several tools and use cases, we will provide more detailed information in following
> announcements. Nevertheless, all tools are already available and can be tested. Furthermore,
> there is also a bunch of documentation, screencasts, and published papers.
>
> http://www.michaelperscheid.de/projects/index.html
>
> Have fun :-)

:) One of those tools is in the section "Type Harvesting". Watch the
video: a custom test runner runs your unit tests, and collects type
information. Another custom browser shows the collected type info as a
tooltip/hover thing when you hover over a variable, instance variable,
selector (showing the method's return type) and so on. Very nice!

frank

> Best regards,
> Michael
>
> ---
> Dr.-Ing. Michael Perscheid
> [hidden email]
>
> http://www.michaelperscheid.de/
>
>

Reply | Threaded
Open this post in threaded view
|

Re: [ANN] The Path Tools Framework

Chris Muller-3
In reply to this post by Michael Perscheid
This is mind-blowing!  I must admit, I don't understand how it works,
or even how to use it, but I've only so far had a chance to gloss over
the paper and watch the video during lunch today.  Some narration on
the video would probably go a long way -- an explanation how to use to
find that typo "Content-Lenght" and how I would use the tool to help
me find it.

On a side note, I'm also extremely impressed by the "functional
density" of that map UI, it's even more dense than Maui (which is
designed to be)!

My first-impression is that this appears to be one of the coolest and
most-original projects Squeak has seen in a long time.  Kudos and
congratulations!!


On Sat, Feb 22, 2014 at 11:19 AM, Michael Perscheid
<[hidden email]> wrote:

> Hi all,
>
> I’m pleased to announce the release of our Path Tools Framework that has been developed
> during the last five years as part of my dissertation.
>
> https://www.hpi.uni-potsdam.de/hirschfeld/trac/SqueakCommunityProjects/wiki/pathToolsFramework
>
> The Path Tools Framework comprises several development tools for supporting typical software
> maintenance tasks such as debugging, testing, and program comprehension. It realizes among
> others our test-driven fault navigation (a systematic debugging approach that leads developers
> from the observable failure back to root causes), test quality feedback (improve software quality
> by analyzing test cases), and model-based source code editing (single source development
> method that joins model-driven development and standard source code editing).
>
> As there are several tools and use cases, we will provide more detailed information in following
> announcements. Nevertheless, all tools are already available and can be tested. Furthermore,
> there is also a bunch of documentation, screencasts, and published papers.
>
> http://www.michaelperscheid.de/projects/index.html
>
> Have fun :-)
>
> Best regards,
> Michael
>
> ---
> Dr.-Ing. Michael Perscheid
> [hidden email]
>
> http://www.michaelperscheid.de/
>
>

Reply | Threaded
Open this post in threaded view
|

Re: [ANN] The Path Tools Framework

garduino



2014-02-22 19:05 GMT-03:00 Chris Muller <[hidden email]>:
This is mind-blowing!  I must admit, I don't understand how it works,
or even how to use it, but I've only so far had a chance to gloss over
the paper and watch the video during lunch today.  Some narration on
the video would probably go a long way -- an explanation how to use to
find that typo "Content-Lenght" and how I would use the tool to help
me find it.

On a side note, I'm also extremely impressed by the "functional
density" of that map UI, it's even more dense than Maui (which is
designed to be)!

My first-impression is that this appears to be one of the coolest and
most-original projects Squeak has seen in a long time.  Kudos and
congratulations!!



+1! 


Reply | Threaded
Open this post in threaded view
|

Re: [ANN] The Path Tools Framework

timrowledge
In reply to this post by Chris Muller-3
So I can ‘nur’ programs at last? Fabulous; I really could have done with that ability last week...

tim
--
tim Rowledge; [hidden email]; http://www.rowledge.org/tim
"Today's subliminal thought is:"



Reply | Threaded
Open this post in threaded view
|

Re: [ANN] The Path Tools Framework

Tansel Ersavas-2
Congratulations, It looks like a major advancement to software development process!

How difficult would it be to convert to other dialects?

Tansel


On Mon, Feb 24, 2014 at 4:42 AM, tim Rowledge <[hidden email]> wrote:
So I can ‘nur’ programs at last? Fabulous; I really could have done with that ability last week...

tim
--
tim Rowledge; [hidden email]; http://www.rowledge.org/tim
"Today's subliminal thought is:"






Reply | Threaded
Open this post in threaded view
|

Re: [ANN] The Path Tools Framework

Michael Perscheid
Hi Tansel,

it is hard to estimate the concrete effort for porting these tools to other Smalltalk dialects.
The framework has several dependencies to other libraries, tools, and makes extensive
use of meta-programming. I think as closer the dialect is to Squeak as easier it should be.
Nevertheless, all concepts and ideas are independent of Squeak/Smalltalk and can also
be adapted to other OOP languages. That means, there should be no showstopper that
prevents Path tools to work in another environment. For example, a current master thesis
of our group deals with porting these tools to Eclipse/Java on the basis of a common
meta-model and it works very well.

Best regards,
Michael

On 23.02.2014, at 23:56, Tansel Ersavas <[hidden email]> wrote:

> Congratulations, It looks like a major advancement to software development process!
>
> How difficult would it be to convert to other dialects?
>
> Tansel
>
>
> On Mon, Feb 24, 2014 at 4:42 AM, tim Rowledge <[hidden email]> wrote:
> So I can ‘nur’ programs at last? Fabulous; I really could have done with that ability last week...
>
> tim
> --
> tim Rowledge; [hidden email]; http://www.rowledge.org/tim
> "Today's subliminal thought is:"
>
>
>
>
>

---
Dr.-Ing. Michael Perscheid
[hidden email]

http://www.michaelperscheid.de/


Reply | Threaded
Open this post in threaded view
|

Re: [ANN] The Path Tools Framework

Denis Kudriashov
In reply to this post by Michael Perscheid
Hello.

Back in time debugger really impressive


2014-02-22 21:19 GMT+04:00 Michael Perscheid <[hidden email]>:
Hi all,

I’m pleased to announce the release of our Path Tools Framework that has been developed
during the last five years as part of my dissertation.

https://www.hpi.uni-potsdam.de/hirschfeld/trac/SqueakCommunityProjects/wiki/pathToolsFramework

The Path Tools Framework comprises several development tools for supporting typical software
maintenance tasks such as debugging, testing, and program comprehension. It realizes among
others our test-driven fault navigation (a systematic debugging approach that leads developers
from the observable failure back to root causes), test quality feedback (improve software quality
by analyzing test cases), and model-based source code editing (single source development
method that joins model-driven development and standard source code editing).

As there are several tools and use cases, we will provide more detailed information in following
announcements. Nevertheless, all tools are already available and can be tested. Furthermore,
there is also a bunch of documentation, screencasts, and published papers.

http://www.michaelperscheid.de/projects/index.html

Have fun :-)

Best regards,
Michael

---
Dr.-Ing. Michael Perscheid
[hidden email]

http://www.michaelperscheid.de/





Reply | Threaded
Open this post in threaded view
|

[ANN] PathMap (was Re: [ANN] The Path Tools Framework)

Michael Perscheid
In reply to this post by Michael Perscheid
Hi all,

as promised, I’d like to further present parts of our Path tools framework. In this mail, I introduce the "PathMap test runner". 

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 test cases more generalized and helpful program properties. By making this hidden test knowledge available, developers have additional information for debugging, testing, and understanding their programs.

PathMap is our extended test runner that reveals the hidden knowledge of test cases and presents it to developers. It provides a low overhead analysis framework that computes coverage data, likely invariants, and static metrics and displays the results in form of a scalable tree map visualization representing the system under observation.


To start a specific analysis of your system under test, select your tests, choose a flap from the right side (large icons, description see below), and press the button “run selected”.

PathMap Analyses Modes (Flaps from top to bottom):

* The test quality flap analyzes the (method) coverage of test cases (effectivity) and relates it to different static metrics. This allows developers to answer questions such as which methods require more tests and which author is responsible for missing tests.

* The profiling flap measures the run-time characteristics of test cases (efficiency) and their relation to the methods of the system under observations. Performance bottlenecks, memory leaks, and massively called methods can be revealed with this analysis.

* The fault localization flap reveals spectrum-based anomalies (methods) that have a high probability to include failure causes. By comparing the coverage of all failed and passed test cases, we offer several starting points for debugging failing test cases and creating initial failure cause hypotheses.

* The induction flap derives likely invariants from passing test cases. We expect that every state (parameter, receiver, return value) of a passing test is also a valid data point. Based on this assumption, we generalize concrete run-time values all over the system into assertions. Such likely invariants can help in program comprehension as well as debugging if they are compared to failing test cases. (Analysis can take some time)

* The traceability flap connects arbitrary concerns and software artifacts with test cases in order to analyze their relationship with the code base. For example, requirements can be related to their acceptance tests and we compute methods that overlap or are completely specific to requirements.

More documentation can be found here: 

Best regards,
Michael

On 22.02.2014, at 18:19, Michael Perscheid <[hidden email]> wrote:

Hi all,

I’m pleased to announce the release of our Path Tools Framework that has been developed 
during the last five years as part of my dissertation. 

https://www.hpi.uni-potsdam.de/hirschfeld/trac/SqueakCommunityProjects/wiki/pathToolsFramework

The Path Tools Framework comprises several development tools for supporting typical software 
maintenance tasks such as debugging, testing, and program comprehension. It realizes among 
others our test-driven fault navigation (a systematic debugging approach that leads developers 
from the observable failure back to root causes), test quality feedback (improve software quality 
by analyzing test cases), and model-based source code editing (single source development 
method that joins model-driven development and standard source code editing).

As there are several tools and use cases, we will provide more detailed information in following 
announcements. Nevertheless, all tools are already available and can be tested. Furthermore, 
there is also a bunch of documentation, screencasts, and published papers.

http://www.michaelperscheid.de/projects/index.html

Have fun :-)

Best regards,
Michael

---
Dr.-Ing. Michael Perscheid
[hidden email]

http://www.michaelperscheid.de/


---
Dr.-Ing. Michael Perscheid
[hidden email]

http://www.michaelperscheid.de/



Reply | Threaded
Open this post in threaded view
|

Re: [ANN] PathMap (was Re: [ANN] The Path Tools Framework)

timrowledge

On 03-03-2014, at 1:30 AM, Michael Perscheid <[hidden email]> wrote:

> 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.

Exactly the point I was trying to make the other day about the Socket confusion I found. Examples and tests are important parts of documentation. They need to be carefully kept updated and properly described etc.

tim
--
tim Rowledge; [hidden email]; http://www.rowledge.org/tim
Useful Latin Phrases:- Ne auderis delere orbem rigidum meum! = Don't you dare erase my hard disk!



Reply | Threaded
Open this post in threaded view
|

Re: [ANN] PathFinder (was Re: [ANN] The Path Tools Framework)

Michael Perscheid
In reply to this post by Michael Perscheid
Hi all,

the next tool of our Path tools framework is “PathFinder” a lightweight back-in-time debugger for (reproducible) test cases. Compared to PathMap where we analyzed multiple test cases at once, PathFinder allows developers to focus on one specific test case and to explore its details.

A test case executes one specific path through the system which can be recorded with all its behavior and state to understand the complete execution history. However, traditional approaches for analyzing a program’s run-time are time-consuming and expensive. They capture comprehensive information about the entire execution up-front, which is in large parts not required at all. We solve this problem with the reproducible and deterministic properties of test cases. We assume that a test case always takes the same path through the system so that each execution comprises the same behavior and state information. With this insight, we are able to split the expensive analysis of a program’s run-time over multiple test runs. Based on developers’ decisions, we divide the analysis into multiple steps: A high-level analysis followed by on-demand refinements. Thus, we incrementally collect only the data developers are interested in and so reduce the analysis overhead to a minimum while preserving instantaneous access to detailed execution histories.

Based on this analysis technique, PathFinder implements a lightweight back-in-time debugger for introspecting specific test case executions that supports the characteristics of immediacy. Moreover, this tool reuses PathMap's anomalies in order to classify traces with suspicious behavior and state. So, developers can follow infection chains back to their root causes without much effort.

More documentation can be found here:
http://www.hpi.uni-potsdam.de/hirschfeld/trac/SqueakCommunityProjects/wiki/path%3ApathFinder
http://www.hpi.uni-potsdam.de/hirschfeld/trac/SqueakCommunityProjects/wiki/path%3Atutorial%3Abackintime
http://www.hpi.uni-potsdam.de/hirschfeld/trac/SqueakCommunityProjects/wiki/path%3Atutorial%3Atdfn

Best regards,
Michael

> On 03.03.2014, at 10:30, Michael Perscheid <[hidden email]> wrote:
>
>> Hi all,
>>
>> as promised, I’d like to further present parts of our Path tools framework. In this mail, I introduce the "PathMap test runner".
>>
>> 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 test cases more generalized and helpful program properties. By making this hidden test knowledge available, developers have additional information for debugging, testing, and understanding their programs.
>>
>> PathMap is our extended test runner that reveals the hidden knowledge of test cases and presents it to developers. It provides a low overhead analysis framework that computes coverage data, likely invariants, and static metrics and displays the results in form of a scalable tree map visualization representing the system under observation.
>>
>> <pathMap.png>
>>
>> To start a specific analysis of your system under test, select your tests, choose a flap from the right side (large icons, description see below), and press the button “run selected”.
>>
>> PathMap Analyses Modes (Flaps from top to bottom):
>>
>> * The test quality flap analyzes the (method) coverage of test cases (effectivity) and relates it to different static metrics. This allows developers to answer questions such as which methods require more tests and which author is responsible for missing tests.
>>
>> * The profiling flap measures the run-time characteristics of test cases (efficiency) and their relation to the methods of the system under observations. Performance bottlenecks, memory leaks, and massively called methods can be revealed with this analysis.
>>
>> * The fault localization flap reveals spectrum-based anomalies (methods) that have a high probability to include failure causes. By comparing the coverage of all failed and passed test cases, we offer several starting points for debugging failing test cases and creating initial failure cause hypotheses.
>>
>> * The induction flap derives likely invariants from passing test cases. We expect that every state (parameter, receiver, return value) of a passing test is also a valid data point. Based on this assumption, we generalize concrete run-time values all over the system into assertions. Such likely invariants can help in program comprehension as well as debugging if they are compared to failing test cases. (Analysis can take some time)
>>
>> * The traceability flap connects arbitrary concerns and software artifacts with test cases in order to analyze their relationship with the code base. For example, requirements can be related to their acceptance tests and we compute methods that overlap or are completely specific to requirements.
>>
>> More documentation can be found here:
>> http://www.hpi.uni-potsdam.de/hirschfeld/trac/SqueakCommunityProjects/wiki/path%3ApathMap
>> http://www.michaelperscheid.de/projects/index.html
>>
>> Best regards,
>> Michael
>>
>> On 22.02.2014, at 18:19, Michael Perscheid <[hidden email]> wrote:
>>
>>> Hi all,
>>>
>>> I’m pleased to announce the release of our Path Tools Framework that has been developed
>>> during the last five years as part of my dissertation.
>>>
>>> https://www.hpi.uni-potsdam.de/hirschfeld/trac/SqueakCommunityProjects/wiki/pathToolsFramework
>>>
>>> The Path Tools Framework comprises several development tools for supporting typical software
>>> maintenance tasks such as debugging, testing, and program comprehension. It realizes among
>>> others our test-driven fault navigation (a systematic debugging approach that leads developers
>>> from the observable failure back to root causes), test quality feedback (improve software quality
>>> by analyzing test cases), and model-based source code editing (single source development
>>> method that joins model-driven development and standard source code editing).
>>>
>>> As there are several tools and use cases, we will provide more detailed information in following
>>> announcements. Nevertheless, all tools are already available and can be tested. Furthermore,
>>> there is also a bunch of documentation, screencasts, and published papers.
>>>
>>> http://www.michaelperscheid.de/projects/index.html
>>>
>>> Have fun :-)
>>>
>>> Best regards,
>>> Michael
>>>
>>> ---
>>> Dr.-Ing. Michael Perscheid
>>> [hidden email]
>>>
>>> http://www.michaelperscheid.de/
>>>
>>
>> ---
>> Dr.-Ing. Michael Perscheid
>> [hidden email]
>>
>> http://www.michaelperscheid.de/
>>
>
> ---
> Dr.-Ing. Michael Perscheid
> [hidden email]
>
> http://www.michaelperscheid.de/
>

---
Dr.-Ing. Michael Perscheid
[hidden email]

http://www.michaelperscheid.de/


Reply | Threaded
Open this post in threaded view
|

Re: [ANN] PathView (was Re: [ANN] The Path Tools Framework)

Michael Perscheid
Hi all,

last but not least, I’d like to present “PathView” as a single-source, round-trip engineering, and model-based code editor. It presents UML-like views of classes, methods, and their relationships that are always an up-to-date view on the source code. Each editing in model or source code will change the other representation automatically in background. For that reason, it does not matter if developers favorite code or models for programming.

Our PathView allows developers to create editable mid-level abstractions of a system under observation in form of UML-like diagrams. It ensures a synchronization mechanism between the created abstraction and the underlying source code. As soon as something changes, other entities are also updated immediately. Developers create such diagrams in an interactive and semi-automatic manner. Starting from a static (selected classes in source code) or dynamic (test cases that cover methods of specific concerns) perspective, they refine their views of classes and methods step by step. In doing so, static analysis techniques and our Type Harvester provide the necessary information for generating and syncing these diagrams automatically. Finally, these diagrams are helpful in many software engineering and maintenance activities. They provide an always up-to-date documentation in form of class diagrams; they help in program comprehension by selecting and presenting methods and classes for a specific concern at once; they allow developers to discuss about architectural decisions; and they have been shown very useful in our lectures when students have to present an overview of their implemented systems. Besides these read-only use-cases, our PathView also allows the development and refactoring of entire systems in such diagrams.

More documentation can be found here:
* https://www.hpi.uni-potsdam.de/hirschfeld/trac/SqueakCommunityProjects/wiki/path%3ApathView
* https://www.hpi.uni-potsdam.de/hirschfeld/trac/SqueakCommunityProjects/wiki/path%3Atutorial%3AmodelbasedEditor

Best regards,
Michael

On 11.03.2014, at 11:39, Michael Perscheid <[hidden email]> wrote:

> Hi all,
>
> the next tool of our Path tools framework is “PathFinder” a lightweight back-in-time debugger for (reproducible) test cases. Compared to PathMap where we analyzed multiple test cases at once, PathFinder allows developers to focus on one specific test case and to explore its details.
>
> A test case executes one specific path through the system which can be recorded with all its behavior and state to understand the complete execution history. However, traditional approaches for analyzing a program’s run-time are time-consuming and expensive. They capture comprehensive information about the entire execution up-front, which is in large parts not required at all. We solve this problem with the reproducible and deterministic properties of test cases. We assume that a test case always takes the same path through the system so that each execution comprises the same behavior and state information. With this insight, we are able to split the expensive analysis of a program’s run-time over multiple test runs. Based on developers’ decisions, we divide the analysis into multiple steps: A high-level analysis followed by on-demand refinements. Thus, we incrementally collect only the data developers are interested in and so reduce the analysis overhead to a minimum while preserving instantaneous access to detailed execution histories.
>
> Based on this analysis technique, PathFinder implements a lightweight back-in-time debugger for introspecting specific test case executions that supports the characteristics of immediacy. Moreover, this tool reuses PathMap's anomalies in order to classify traces with suspicious behavior and state. So, developers can follow infection chains back to their root causes without much effort.
>
> More documentation can be found here:
> http://www.hpi.uni-potsdam.de/hirschfeld/trac/SqueakCommunityProjects/wiki/path%3ApathFinder
> http://www.hpi.uni-potsdam.de/hirschfeld/trac/SqueakCommunityProjects/wiki/path%3Atutorial%3Abackintime
> http://www.hpi.uni-potsdam.de/hirschfeld/trac/SqueakCommunityProjects/wiki/path%3Atutorial%3Atdfn
>
> Best regards,
> Michael
>
>> On 03.03.2014, at 10:30, Michael Perscheid <[hidden email]> wrote:
>>
>>> Hi all,
>>>
>>> as promised, I’d like to further present parts of our Path tools framework. In this mail, I introduce the "PathMap test runner".
>>>
>>> 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 test cases more generalized and helpful program properties. By making this hidden test knowledge available, developers have additional information for debugging, testing, and understanding their programs.
>>>
>>> PathMap is our extended test runner that reveals the hidden knowledge of test cases and presents it to developers. It provides a low overhead analysis framework that computes coverage data, likely invariants, and static metrics and displays the results in form of a scalable tree map visualization representing the system under observation.
>>>
>>> <pathMap.png>
>>>
>>> To start a specific analysis of your system under test, select your tests, choose a flap from the right side (large icons, description see below), and press the button “run selected”.
>>>
>>> PathMap Analyses Modes (Flaps from top to bottom):
>>>
>>> * The test quality flap analyzes the (method) coverage of test cases (effectivity) and relates it to different static metrics. This allows developers to answer questions such as which methods require more tests and which author is responsible for missing tests.
>>>
>>> * The profiling flap measures the run-time characteristics of test cases (efficiency) and their relation to the methods of the system under observations. Performance bottlenecks, memory leaks, and massively called methods can be revealed with this analysis.
>>>
>>> * The fault localization flap reveals spectrum-based anomalies (methods) that have a high probability to include failure causes. By comparing the coverage of all failed and passed test cases, we offer several starting points for debugging failing test cases and creating initial failure cause hypotheses.
>>>
>>> * The induction flap derives likely invariants from passing test cases. We expect that every state (parameter, receiver, return value) of a passing test is also a valid data point. Based on this assumption, we generalize concrete run-time values all over the system into assertions. Such likely invariants can help in program comprehension as well as debugging if they are compared to failing test cases. (Analysis can take some time)
>>>
>>> * The traceability flap connects arbitrary concerns and software artifacts with test cases in order to analyze their relationship with the code base. For example, requirements can be related to their acceptance tests and we compute methods that overlap or are completely specific to requirements.
>>>
>>> More documentation can be found here:
>>> http://www.hpi.uni-potsdam.de/hirschfeld/trac/SqueakCommunityProjects/wiki/path%3ApathMap
>>> http://www.michaelperscheid.de/projects/index.html
>>>
>>> Best regards,
>>> Michael
>>>
>>> On 22.02.2014, at 18:19, Michael Perscheid <[hidden email]> wrote:
>>>
>>>> Hi all,
>>>>
>>>> I’m pleased to announce the release of our Path Tools Framework that has been developed
>>>> during the last five years as part of my dissertation.
>>>>
>>>> https://www.hpi.uni-potsdam.de/hirschfeld/trac/SqueakCommunityProjects/wiki/pathToolsFramework
>>>>
>>>> The Path Tools Framework comprises several development tools for supporting typical software
>>>> maintenance tasks such as debugging, testing, and program comprehension. It realizes among
>>>> others our test-driven fault navigation (a systematic debugging approach that leads developers
>>>> from the observable failure back to root causes), test quality feedback (improve software quality
>>>> by analyzing test cases), and model-based source code editing (single source development
>>>> method that joins model-driven development and standard source code editing).
>>>>
>>>> As there are several tools and use cases, we will provide more detailed information in following
>>>> announcements. Nevertheless, all tools are already available and can be tested. Furthermore,
>>>> there is also a bunch of documentation, screencasts, and published papers.
>>>>
>>>> http://www.michaelperscheid.de/projects/index.html
>>>>
>>>> Have fun :-)
>>>>
>>>> Best regards,
>>>> Michael
>>>>
>>>> ---
>>>> Dr.-Ing. Michael Perscheid
>>>> [hidden email]
>>>>
>>>> http://www.michaelperscheid.de/
>>>>
>>>
>>> ---
>>> Dr.-Ing. Michael Perscheid
>>> [hidden email]
>>>
>>> http://www.michaelperscheid.de/
>>>
>>
>> ---
>> Dr.-Ing. Michael Perscheid
>> [hidden email]
>>
>> http://www.michaelperscheid.de/
>>
>
> ---
> Dr.-Ing. Michael Perscheid
> [hidden email]
>
> http://www.michaelperscheid.de/
>

---
Dr.-Ing. Michael Perscheid
[hidden email]

http://www.michaelperscheid.de/