Top Banner
VISUAL SOFTWARE EVOLUTION RECONSTRUCTION Presentation type: paper presenta Class: CS 519 – Information Visualiza Presenter: Sergii Shmarka Date: 5/12/
24

CS519 - Visual Software Evolution Reconstruction

May 18, 2015

Download

Software

Overview of the paper "Visual Software Evolution Reconstruction" by Marco D'Ambros and Michele Lanza presented at Oregon State University for "Information Visualization" class on May 12th 2014. Presentation time: 15 min
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: CS519 - Visual Software Evolution Reconstruction

VISUAL SOFTWARE EVOLUTION

RECONSTRUCTION

Presentation type: paper presentationClass: CS 519 – Information Visualization

Presenter: Sergii ShmarkatiukDate: 5/12/2014

Page 2: CS519 - Visual Software Evolution Reconstruction

2

WHY DO WE NEED TO VISUALIZE SOFTWARE HISTORY?

It helps with making informed decisions about software development

• How many developers should be working on the project?

• How many testers should test the product?• How to move people between projects to

distribute workload effectively?• Which are parts of the system with the

most intense development?

Page 3: CS519 - Visual Software Evolution Reconstruction

3

WHY DO WE NEED TO VISUALIZE SOFTWARE HISTORY?

It helps with learning about the system

• Which components are affected by how many bugs?

• Which bugs affect how many components?• Which artifacts are the most coupled?• How many entities evolved over time?• Why and when was module/class/method

(entity) introduced?• When did it have intense development?

Page 4: CS519 - Visual Software Evolution Reconstruction

4

PRIMARY TARGET AUDIENCE OF SOFTWARE HISTORY VISUALIZATION?

Project managers

Development Team Leaders

Software Testing Team

Leaders

Page 5: CS519 - Visual Software Evolution Reconstruction

5

GENERAL SCHEMA OF VISUAL SOFTWARE EVOLUTION RECONSTRUCTION APPROACH

Page 6: CS519 - Visual Software Evolution Reconstruction

6

CVS MODULE, CVS REVISION MODULE

Page 7: CS519 - Visual Software Evolution Reconstruction

7

Encodings:• Size – number of files• Color – number of bugs

Encodings:• Size – development effort• Color – number of bugs

Helps with answering following questions: • Which are the key modules in the system?• How big are the modules? • Where are the most bugs located?

Page 8: CS519 - Visual Software Evolution Reconstruction

8

DISCRETE TIME MODULE, DISCRETE TIME DIRECTORY

Page 9: CS519 - Visual Software Evolution Reconstruction

9

Encodings:• Color – number of bugs• X axis – time

Page 10: CS519 - Visual Software Evolution Reconstruction

10

Encodings:• Color – number of bugs• X axis – time

Page 11: CS519 - Visual Software Evolution Reconstruction

11

Encodings:• Color – number of bugs• X axis – time • Y axis – modules

Page 12: CS519 - Visual Software Evolution Reconstruction

12

MODULE BUG-SHARING CORRELATION

Page 13: CS519 - Visual Software Evolution Reconstruction

13

Encodings:• Folder color – number of commits• Edge width and color – number of shared bugs

Helps with answering following questions:• What are the points of potential architectural

decay?

Page 14: CS519 - Visual Software Evolution Reconstruction

14

DIRECTORY TREE

Page 15: CS519 - Visual Software Evolution Reconstruction

15

Encodings:• Height – number of files• Color – number of bugs

Helps with answering following questions: • Which are the largest sub-hierarchies?• Which hierarchies contain many files and/or

many recorded bugs?

Page 16: CS519 - Visual Software Evolution Reconstruction

16

FILE SIZE-EFFORT-BUG

Page 17: CS519 - Visual Software Evolution Reconstruction

17

Encodings:• Width – number of commits• Height – lines of code• Color – number of bugs

Helps with answering following questions: • Which are the files that are most affected by bugs?

Page 18: CS519 - Visual Software Evolution Reconstruction

18

FRACTAL FILE

Page 19: CS519 - Visual Software Evolution Reconstruction

19

Encodings:• Color – author• Area – percentage of

commits performed by the author

Helps with answering following questions: • How work is distributed among developers?

Page 20: CS519 - Visual Software Evolution Reconstruction

20

Page 21: CS519 - Visual Software Evolution Reconstruction

21

DIRECTORY BUG DEPENDENCY

Page 22: CS519 - Visual Software Evolution Reconstruction

22

Encodings:• Folder – directory• Cross – bug• Edge – bug in directory• Color – author

Helps with answering following questions: • Which low-level entities

share bugs?• Which bugs have bigger

impact?

Page 23: CS519 - Visual Software Evolution Reconstruction

23

SOFTWARE HISTORY RECONSTRUCTION IN ACTION

Page 24: CS519 - Visual Software Evolution Reconstruction

24

CONCLUSION

Visual software evolution reconstruction approach: Presents several software visualization approaches Addresses the problem of software evolution “in the

large” version control systems bug tracking systems

Addresses the problem of software evolution “in the small” modules directories files

Uses methodology that provides systematical way to understanding software evolution

Allows target users to get a complete picture of the evolution of software system