Presentation is loading. Please wait.

Presentation is loading. Please wait.

Identification of Variation Points Using Dynamic Analysis

Similar presentations


Presentation on theme: "Identification of Variation Points Using Dynamic Analysis"— Presentation transcript:

1 Identification of Variation Points Using Dynamic Analysis
Bas Cornelissen

2 Introduction Product lines Several versions for various customers
Each having its own set of features Variation points Configurable features

3 Introduction Identifying variation points in source code
Isolation of code responsible for specific features Useful in merging product line members Research proposal Dynamic analysis Comparison of traces generated by two versions Detection and visualization of variation points

4 Method Code instrumentation Execution using similar scenarios
At method level Aspect-oriented programming Execution using similar scenarios Aimed at invoking one particular feature

5 Method Detection algorithm Visualization Sliding windows Parameters
Checksum size Minimum branch length Maximum branch length Visualization Dot

6 Method Running example Pacman 20 classes, 1000 LOC Various versions
Original (reference) Map extension Additional game entities, e.g. holes

7 Preliminary results Original vs. map version

8 Preliminary results Original vs. map version
Slightly different initialization One fork…

9 Preliminary results Original vs. map version
Slightly different initialization One fork… …and a quick merge

10 Preliminary results Original vs. hole version

11 Preliminary results Original vs. hole version
Slightly different initialization: a fork …

12 Preliminary results Original vs. hole version
Slightly different initialization: a fork … …and a quick merge

13 Preliminary results → Original vs. hole version
Slightly different initialization: a fork … …and a quick merge Divergent behavior

14 Conclusions Efficient algorithm Meaningful results
Parameterized Branch lengths have upper bounds Meaningful results Architect gains quick insight into relevant source code Creating similar scenarios may be hard in some cases e.g., deterministic behavior is a must

15 Future work Parameter optimization Improved accuracy
Incorporation of stack depths Incorporation of method arguments Better visualization Large software systems Support for other abstraction levels

16 Discussion points How can the parameters be optimized?
Maximum/minimum branch length How can we make the results more meaningful?


Download ppt "Identification of Variation Points Using Dynamic Analysis"

Similar presentations


Ads by Google