SlideShare a Scribd company logo
VISUAL SOFTWARE
EVOLUTION RECONSTRUCTION
Presentation type: paper presentation
Class: CS 519 – Information Visualization
Presenter: Sergii Shmarkatiuk
Date: 5/12/2014
WHY DO WE NEED TO VISUALIZE SOFTWARE
HISTORY?
2
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?
WHY DO WE NEED TO VISUALIZE SOFTWARE
HISTORY?
3
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?
PRIMARY TARGET AUDIENCE OF SOFTWARE
HISTORY VISUALIZATION?
4
Project
managers
Development
Team
Leaders
Software
Testing Team
Leaders
GENERAL SCHEMA OF VISUAL SOFTWARE
EVOLUTION RECONSTRUCTION APPROACH
5
CVS MODULE, CVS REVISION MODULE
6
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?
DISCRETE TIME MODULE, DISCRETE TIME
DIRECTORY
8
9
Encodings:
• Color – number of bugs
• X axis – time
10
Encodings:
• Color – number of bugs
• X axis – time
11
Encodings:
• Color – number of bugs
• X axis – time
• Y axis – modules
MODULE BUG-SHARING CORRELATION
12
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?
DIRECTORY TREE
14
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?
FILE SIZE-EFFORT-BUG
16
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?
FRACTAL FILE
18
19
Encodings:
• Color – author
• Area – percentage of commits
performed by the author
Helps with answering following questions:
• How work is distributed among developers?
20
DIRECTORY BUG DEPENDENCY
21
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?
SOFTWARE HISTORY RECONSTRUCTION IN
ACTION
23
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 24

More Related Content

PPTX
CS 584 - Aligning development tools with the way programmers think about code...
PPTX
Continuous integration for se group meeting
PPTX
CS519 - Cloud Twin: Native Execution of Android Applications on the Windows P...
PPTX
To document or not to document? An exploratory study on developers' motivatio...
PPTX
The Role of the Software Architect (short version)
PPTX
Reducing Technical Debt
PDF
Taming Big Balls of Mud with Diligence, Agile Practices, and Hard Work
PPTX
Migrate to microservices
CS 584 - Aligning development tools with the way programmers think about code...
Continuous integration for se group meeting
CS519 - Cloud Twin: Native Execution of Android Applications on the Windows P...
To document or not to document? An exploratory study on developers' motivatio...
The Role of the Software Architect (short version)
Reducing Technical Debt
Taming Big Balls of Mud with Diligence, Agile Practices, and Hard Work
Migrate to microservices

What's hot (20)

PPTX
Software Design
PDF
Funny stories and anti-patterns from DevOps landscape
PDF
Professional Software Development, Practices and Ethics
PPTX
Is your code SOLID enough?
PPTX
Tdd 4 everyone full version
PPTX
DevOps interview questions and answers
PPTX
Slides for Houston iPhone Developers' Meetup (April 2012)
 
PPTX
DevOps at Lean Apps
PPTX
The five expertise of a software architect
PPTX
DevOps Torino Meetup - DevOps Engineer, a role that does not exist but is muc...
PDF
Agile archiecture iltam 2014
PPTX
Agile Software Development and DevOps 21092019
PDF
CODE REVIEW AND COOPERATIVE PAIR PROGRAMMING BEST PRACTICE
PDF
Jenkins User Conference: Building Your Continuous Delivery Toolkit
PPTX
Software architecture introduction
PPT
Interactive Development Environments
PPTX
Software Craftsmanship VS Software Engineering
PPTX
03. Agile Development
Software Design
Funny stories and anti-patterns from DevOps landscape
Professional Software Development, Practices and Ethics
Is your code SOLID enough?
Tdd 4 everyone full version
DevOps interview questions and answers
Slides for Houston iPhone Developers' Meetup (April 2012)
 
DevOps at Lean Apps
The five expertise of a software architect
DevOps Torino Meetup - DevOps Engineer, a role that does not exist but is muc...
Agile archiecture iltam 2014
Agile Software Development and DevOps 21092019
CODE REVIEW AND COOPERATIVE PAIR PROGRAMMING BEST PRACTICE
Jenkins User Conference: Building Your Continuous Delivery Toolkit
Software architecture introduction
Interactive Development Environments
Software Craftsmanship VS Software Engineering
03. Agile Development
Ad

Viewers also liked (20)

PPTX
CS589 paper presentation - What is in unison? A formal specification and refe...
PPTX
05 - Merge Management
PPTX
1.0 about software configuration management trainings
PPTX
Software version numbering - DSL of change
PPTX
1.1 introduction to scm - xp and cm are chicken-and-egg
PPTX
Software Configuration Management
PPT
Software Configuration Management
PPT
Configuration Management
PPTX
Process Improvement for better Software Technical Quality under Global Crisis...
PPTX
Internet of things for the “smart home”
PPTX
OpenHistoryMap SOD16
PPTX
Software Configuration Management
PPTX
03 - Continuous Integration
PPTX
01 - Introduction to Version Control
PPTX
02 - Build and Deployment Management
PPTX
Ch 8 configuration management
PPT
Configuration Management
PPTX
Software configuration management
PPTX
Ch 7 integrating quality activities in the projectlife cycle
PPT
Configuration Management in Software Engineering - SE29
CS589 paper presentation - What is in unison? A formal specification and refe...
05 - Merge Management
1.0 about software configuration management trainings
Software version numbering - DSL of change
1.1 introduction to scm - xp and cm are chicken-and-egg
Software Configuration Management
Software Configuration Management
Configuration Management
Process Improvement for better Software Technical Quality under Global Crisis...
Internet of things for the “smart home”
OpenHistoryMap SOD16
Software Configuration Management
03 - Continuous Integration
01 - Introduction to Version Control
02 - Build and Deployment Management
Ch 8 configuration management
Configuration Management
Software configuration management
Ch 7 integrating quality activities in the projectlife cycle
Configuration Management in Software Engineering - SE29
Ad

Similar to CS519 - Visual Software Evolution Reconstruction (20)

PPTX
Mapping and visualization of source code a survey
PDF
Mapping and visualization of source code a survey
PPT
Animated Visualization of Software History Using Software Evolution Storyboards
PPTX
Of Changes and Their History
PDF
Evolutionary visual software analytics
PPTX
Software Maintenance Bug Triaging
PDF
TEFSE05.ppt
DOCX
V_Sound(Visualize Softwar and Understand the Document)
PDF
Actionable Software Visualization (best paper award) VISSOFT 2016
PDF
Visualizing Object-oriented Software for Understanding and Documentation
PPTX
Dynamic Evolution and Reconfiguration of Software Architectures through Aspec...
PDF
Meet Tom and his Fish
PDF
Populating a Release History Database (ICSM 2013 MIP)
PPTX
SAD15 - Maintenance
PDF
Featureous: An Integrated Approach To Location, Analysis And Modularization O...
PDF
Perspectives on Software Visualization
PDF
Of Bugs and Men
PDF
Of Bugs and Men (and Plugins too)
PDF
Feature-Oriented Software Evolution
PPTX
Source code visualization (SourceViz)
Mapping and visualization of source code a survey
Mapping and visualization of source code a survey
Animated Visualization of Software History Using Software Evolution Storyboards
Of Changes and Their History
Evolutionary visual software analytics
Software Maintenance Bug Triaging
TEFSE05.ppt
V_Sound(Visualize Softwar and Understand the Document)
Actionable Software Visualization (best paper award) VISSOFT 2016
Visualizing Object-oriented Software for Understanding and Documentation
Dynamic Evolution and Reconfiguration of Software Architectures through Aspec...
Meet Tom and his Fish
Populating a Release History Database (ICSM 2013 MIP)
SAD15 - Maintenance
Featureous: An Integrated Approach To Location, Analysis And Modularization O...
Perspectives on Software Visualization
Of Bugs and Men
Of Bugs and Men (and Plugins too)
Feature-Oriented Software Evolution
Source code visualization (SourceViz)

More from Sergii Shmarkatiuk (10)

PPTX
CS519 - homework project presentation
PPTX
CS519 - project idea presentation
PPTX
CS519 - Cloud Types for Eventual Consistency
PPTX
1.2 introduction to scm - what does version number tell us
PPTX
04 - Agile Software Configuration Management
PPT
Breath of life
PPTX
Agile software configuration management
PPTX
управление сборками и развертыванием веб приложений
PPTX
Организуй свой репозиторий
PPTX
метод организации репозитория исходного кода
CS519 - homework project presentation
CS519 - project idea presentation
CS519 - Cloud Types for Eventual Consistency
1.2 introduction to scm - what does version number tell us
04 - Agile Software Configuration Management
Breath of life
Agile software configuration management
управление сборками и развертыванием веб приложений
Организуй свой репозиторий
метод организации репозитория исходного кода

Recently uploaded (20)

PPT
Introduction Database Management System for Course Database
PPTX
Transform Your Business with a Software ERP System
PPTX
ai tools demonstartion for schools and inter college
PPTX
Lecture 3: Operating Systems Introduction to Computer Hardware Systems
PDF
top salesforce developer skills in 2025.pdf
PDF
Claude Code: Everyone is a 10x Developer - A Comprehensive AI-Powered CLI Tool
PDF
How to Migrate SBCGlobal Email to Yahoo Easily
PDF
System and Network Administration Chapter 2
PDF
How Creative Agencies Leverage Project Management Software.pdf
PDF
How to Choose the Right IT Partner for Your Business in Malaysia
PDF
Audit Checklist Design Aligning with ISO, IATF, and Industry Standards — Omne...
PDF
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
PDF
Digital Strategies for Manufacturing Companies
PDF
PTS Company Brochure 2025 (1).pdf.......
PDF
Why TechBuilder is the Future of Pickup and Delivery App Development (1).pdf
PDF
Which alternative to Crystal Reports is best for small or large businesses.pdf
PPTX
L1 - Introduction to python Backend.pptx
PDF
Wondershare Filmora 15 Crack With Activation Key [2025
PDF
Addressing The Cult of Project Management Tools-Why Disconnected Work is Hold...
PDF
Design an Analysis of Algorithms I-SECS-1021-03
Introduction Database Management System for Course Database
Transform Your Business with a Software ERP System
ai tools demonstartion for schools and inter college
Lecture 3: Operating Systems Introduction to Computer Hardware Systems
top salesforce developer skills in 2025.pdf
Claude Code: Everyone is a 10x Developer - A Comprehensive AI-Powered CLI Tool
How to Migrate SBCGlobal Email to Yahoo Easily
System and Network Administration Chapter 2
How Creative Agencies Leverage Project Management Software.pdf
How to Choose the Right IT Partner for Your Business in Malaysia
Audit Checklist Design Aligning with ISO, IATF, and Industry Standards — Omne...
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
Digital Strategies for Manufacturing Companies
PTS Company Brochure 2025 (1).pdf.......
Why TechBuilder is the Future of Pickup and Delivery App Development (1).pdf
Which alternative to Crystal Reports is best for small or large businesses.pdf
L1 - Introduction to python Backend.pptx
Wondershare Filmora 15 Crack With Activation Key [2025
Addressing The Cult of Project Management Tools-Why Disconnected Work is Hold...
Design an Analysis of Algorithms I-SECS-1021-03

CS519 - Visual Software Evolution Reconstruction

  • 1. VISUAL SOFTWARE EVOLUTION RECONSTRUCTION Presentation type: paper presentation Class: CS 519 – Information Visualization Presenter: Sergii Shmarkatiuk Date: 5/12/2014
  • 2. WHY DO WE NEED TO VISUALIZE SOFTWARE HISTORY? 2 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?
  • 3. WHY DO WE NEED TO VISUALIZE SOFTWARE HISTORY? 3 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?
  • 4. PRIMARY TARGET AUDIENCE OF SOFTWARE HISTORY VISUALIZATION? 4 Project managers Development Team Leaders Software Testing Team Leaders
  • 5. GENERAL SCHEMA OF VISUAL SOFTWARE EVOLUTION RECONSTRUCTION APPROACH 5
  • 6. CVS MODULE, CVS REVISION MODULE 6
  • 7. 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?
  • 8. DISCRETE TIME MODULE, DISCRETE TIME DIRECTORY 8
  • 9. 9 Encodings: • Color – number of bugs • X axis – time
  • 10. 10 Encodings: • Color – number of bugs • X axis – time
  • 11. 11 Encodings: • Color – number of bugs • X axis – time • Y axis – modules
  • 13. 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?
  • 15. 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?
  • 17. 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?
  • 19. 19 Encodings: • Color – author • Area – percentage of commits performed by the author Helps with answering following questions: • How work is distributed among developers?
  • 20. 20
  • 22. 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?
  • 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 24

Editor's Notes

  • #3: Learning about system as a whole
  • #4: Learning about system as a whole
  • #5: У сегодняшнего тренинга две цели.Первая - ?Вторая – ?
  • #6: Marco D’Ambros and MicheleLanza describe approach of software evolution reconstruction. Its goal is to help with software history visualization
  • #7: Marco D’Ambros and MicheleLanza describe approach of software evolution reconstruction. Its goal is to help with software history visualization
  • #25: What I liked:Discrete time moduleWhat I didn’t like:CVS module view, CVS revision viewNot enough accent on evolutionAmbivalent:Fractal view