SlideShare a Scribd company logo
EPFLEPFL
Dirk.Beyer@epfl.chDirk.Beyer@epfl.ch
Dirk BeyerDirk Beyer
Simon Fraser UniversitySimon Fraser University
Dirk.Beyer@sfu.caDirk.Beyer@sfu.ca
Animated Visualization of
Software History Using
Evolution Storyboards
Ahmed E. HassanAhmed E. Hassan
University Of VictoriaUniversity Of Victoria
ahmed@uvic.caahmed@uvic.ca
Visualizing Software Evolution
• Static visualizations of evolution:
– fail to capture the dynamics of software evolution
• A movie visualization of evolution:
– is not easy to control by developers (who want to focus
on particular time periods, or parts of a system)
• We propose a visualization, evolution storyboards,
which strikes a balance between static and movie
visualizations
Storyboard
• Produced traditionally beforehand for
directors and cinematographers
• Used to study movie scenes and to uncover
potential problems before they occur
An Example Storyboard
Evolution Storyboard
• An evolution storyboard contains dynamic
panels
• Each panel depicts consecutively important
events and periods in the lifetime of long-
lived software systems
Our Graph Model
• Nodes: files/functions/subsystems
• Edges: co-change (from CVS)
• Layout: energy-based
A B
C D
A B
C D
C1
C2
Studied Systems
System Years Commits Nodes Edges
ArgoUML 8 10,108 20,247 57,036
PostgreSQL 9 7,882 9,086 35,809
Mozilla 6 9,950 11,754 30,938
Properties of
Our Layout Algorithm
• Related nodes are placed together, non-related
nodes are placed far apart
• Strongly connected nodes separate out from the
rest of the graph
Approach Overview
• To avoid blur and clutter:
– We ignore small movements of a node,
• if its degree did not change
– We do not highlight a node’s movement,
• if it did not move much (e.g. < 1% of panel size)
• if its degree is too small
– We use a “follow your neighbors” heuristic
Storyboard Colouring
• Authoritative decomposition:
– subsystems / directory
• Heat Map based on a node’s movement:
– Orange (moved in 40% of panels), Yellow
(30%), Green (20%), Gray (10%)
Panels in Evolution Storyboards
Panels in Evolution Storyboards
Benefits of Evolution Storyboards
• Spot good structure
– well separated nodes
• Explain decay symptoms:
– colouring patterns (separate/mixed colours)
• Highlight refactoring candidates:
– frequently moving nodes (using heat colouring)
Mozilla Storyboard
Compose
DB
MIME
Address Book
IMAP
NNTP
Parsing
Mozilla 1st
Panel in Storyboard
Refactoring Candidates (1/2)
Refactoring Candidates (2/2)
Conclusion
• Static visualizations of evolution do not capture
the dynamics of software evolution
• The approach has been applied to several large
software systems: Mozilla, ArgoUML,
PostgreSQL
• Evolution storyboards can help:
– Spot good structure
– Explain design decay
– Highlight refactoring candidates

More Related Content

PPTX
Modeling the Performance of Ultra-Large-Scale Systems Using Layered Simulations
PPT
Automated Discovery of Performance Regressions in Enterprise Applications
PPT
Detecting Interaction Coupling from Task Interaction Histories
PPTX
Log Engineering: Towards Systematic Log Mining to Support the Development of ...
PPTX
Empircal Studies of Performance Bugs & Performance Analysis Approaches for La...
PPT
Mining Performance Regression Testing Repositories for Automated Performance ...
PPTX
Understanding the Rationale for Updating a Function's Comment
PPTX
An Industrial Case Study on the Automated Detection of Performance Regression...
Modeling the Performance of Ultra-Large-Scale Systems Using Layered Simulations
Automated Discovery of Performance Regressions in Enterprise Applications
Detecting Interaction Coupling from Task Interaction Histories
Log Engineering: Towards Systematic Log Mining to Support the Development of ...
Empircal Studies of Performance Bugs & Performance Analysis Approaches for La...
Mining Performance Regression Testing Repositories for Automated Performance ...
Understanding the Rationale for Updating a Function's Comment
An Industrial Case Study on the Automated Detection of Performance Regression...

What's hot (18)

PDF
Testing the Untestable: Model Testing of Complex Software-Intensive Systems
PDF
Documented Requirements are not Useless After All!
PPTX
Chaper 1 sdlc
PPTX
System development phases
PDF
Applying Product Line Use Case Modeling ! in an Industrial Automotive Embedde...
PDF
Automated Change Impact Analysis between SysML Models of Requirements and Design
PDF
Dependable Systems -Software Dependability (15/16)
PPTX
Maintenance, Re-engineering &Reverse Engineering in Software Engineering
PPTX
Lecture 2 (Software Processes)
PDF
Dependable Systems -Dependability Threats (2/16)
PDF
Dependable Systems -Dependability Attributes (5/16)
PDF
naveed-kamran-software-architecture-agile
PDF
Dependable Systems -Fault Tolerance Patterns (4/16)
PDF
WQD2011 - INNOVATION - DEWA - Substation Signal Analyzer Software
PPT
System Integration & Build Management
PPT
Software Fault Tolerance
PPT
2. Software process
PDF
Change Impact Analysis for Natural Language Requirements
Testing the Untestable: Model Testing of Complex Software-Intensive Systems
Documented Requirements are not Useless After All!
Chaper 1 sdlc
System development phases
Applying Product Line Use Case Modeling ! in an Industrial Automotive Embedde...
Automated Change Impact Analysis between SysML Models of Requirements and Design
Dependable Systems -Software Dependability (15/16)
Maintenance, Re-engineering &Reverse Engineering in Software Engineering
Lecture 2 (Software Processes)
Dependable Systems -Dependability Threats (2/16)
Dependable Systems -Dependability Attributes (5/16)
naveed-kamran-software-architecture-agile
Dependable Systems -Fault Tolerance Patterns (4/16)
WQD2011 - INNOVATION - DEWA - Substation Signal Analyzer Software
System Integration & Build Management
Software Fault Tolerance
2. Software process
Change Impact Analysis for Natural Language Requirements
Ad

Viewers also liked (20)

PPTX
Harvard mark1
PPTX
Lunar lander - The Game
PDF
Big and fast a quest for relevant and real-time analytics
PPT
Historyofcomputers
PPTX
Unix.part1.history
PPTX
software History
PPTX
Software Testing: History, Trends, Perspectives - a Brief Overview
PDF
Computer Software introduction
PPTX
Operating Systems: Network Management
PPTX
Operating Systems: A History of Linux
DOCX
ашык сабак аминага жыртык батинка
DOCX
Nur 641 e complete class
PDF
indikátor_rendszer_v4
PDF
nak_portál_koncepció_2014_final
PPTX
Significance of training and development - Manu Melwin Joy
PPT
Presentacion Nat
PPTX
зустріч обдарованих з адміністраціїю міста
PPS
NonosengañAráN
PPTX
IPogran AR
PPTX
อัญญรัตน์ ม่วงประเสริฐ
Harvard mark1
Lunar lander - The Game
Big and fast a quest for relevant and real-time analytics
Historyofcomputers
Unix.part1.history
software History
Software Testing: History, Trends, Perspectives - a Brief Overview
Computer Software introduction
Operating Systems: Network Management
Operating Systems: A History of Linux
ашык сабак аминага жыртык батинка
Nur 641 e complete class
indikátor_rendszer_v4
nak_portál_koncepció_2014_final
Significance of training and development - Manu Melwin Joy
Presentacion Nat
зустріч обдарованих з адміністраціїю міста
NonosengañAráN
IPogran AR
อัญญรัตน์ ม่วงประเสริฐ
Ad

Similar to Animated Visualization of Software History Using Software Evolution Storyboards (20)

PDF
FME World Tour 2015 - FME & Data Migration Simon McCabe
PPTX
Software_Introduction and Screen shot guidelines.pptx
PDF
2014 01-ticosa
PPTX
The art of architecture
PPTX
Simulation and modeling introduction.pptx
PPTX
How to Use Innoslate for Advanced Users
PPTX
System engineering
PPTX
Design pattern
PPTX
01_IT4557.pptx
PPTX
Modelos de desarrollo de software
PDF
EclipseCon Eu 2015 - Breathe life into your Designer!
PPTX
Modeling and Simulation of Electrical Power Systems using OpenIPSL.org and Gr...
PPTX
Unit 1b
PDF
Алексей Ященко и Ярослав Волощук "False simplicity of front-end applications"
PDF
Efficient and Advanced Omniscient Debugging for xDSMLs (SLE 2015)
PDF
JavaFX 101
PPTX
Best Practices for Enterprise Continuous Delivery of Oracle Fusion Middlewa...
PPTX
A.Levenchuk -- Systems Engineering Thinking
PDF
building-design-systems presentation developers
PPT
Requirements analysis lecture
FME World Tour 2015 - FME & Data Migration Simon McCabe
Software_Introduction and Screen shot guidelines.pptx
2014 01-ticosa
The art of architecture
Simulation and modeling introduction.pptx
How to Use Innoslate for Advanced Users
System engineering
Design pattern
01_IT4557.pptx
Modelos de desarrollo de software
EclipseCon Eu 2015 - Breathe life into your Designer!
Modeling and Simulation of Electrical Power Systems using OpenIPSL.org and Gr...
Unit 1b
Алексей Ященко и Ярослав Волощук "False simplicity of front-end applications"
Efficient and Advanced Omniscient Debugging for xDSMLs (SLE 2015)
JavaFX 101
Best Practices for Enterprise Continuous Delivery of Oracle Fusion Middlewa...
A.Levenchuk -- Systems Engineering Thinking
building-design-systems presentation developers
Requirements analysis lecture

More from SAIL_QU (20)

PDF
Studying the Integration Practices and the Evolution of Ad Libraries in the G...
PDF
Studying the Dialogue Between Users and Developers of Free Apps in the Google...
PPTX
Improving the testing efficiency of selenium-based load tests
PDF
Studying User-Developer Interactions Through the Distribution and Reviewing M...
PDF
Studying online distribution platforms for games through the mining of data f...
PPTX
Understanding the Factors for Fast Answers in Technical Q&A Websites: An Empi...
PDF
Investigating the Challenges in Selenium Usage and Improving the Testing Effi...
PDF
Mining Development Knowledge to Understand and Support Software Logging Pract...
PPTX
Which Log Level Should Developers Choose For a New Logging Statement?
PPTX
Towards Just-in-Time Suggestions for Log Changes
PDF
The Impact of Task Granularity on Co-evolution Analyses
PPTX
A Framework for Evaluating the Results of the SZZ Approach for Identifying Bu...
PPTX
How are Discussions Associated with Bug Reworking? An Empirical Study on Open...
PPTX
A Study of the Relation of Mobile Device Attributes with the User-Perceived Q...
PDF
A Large-Scale Study of the Impact of Feature Selection Techniques on Defect C...
PPTX
Studying the Dialogue Between Users and Developers of Free Apps in the Google...
PDF
What Do Programmers Know about Software Energy Consumption?
PPTX
Threshold for Size and Complexity Metrics: A Case Study from the Perspective ...
PDF
Revisiting the Experimental Design Choices for Approaches for the Automated R...
PPTX
Measuring Program Comprehension: A Large-Scale Field Study with Professionals
Studying the Integration Practices and the Evolution of Ad Libraries in the G...
Studying the Dialogue Between Users and Developers of Free Apps in the Google...
Improving the testing efficiency of selenium-based load tests
Studying User-Developer Interactions Through the Distribution and Reviewing M...
Studying online distribution platforms for games through the mining of data f...
Understanding the Factors for Fast Answers in Technical Q&A Websites: An Empi...
Investigating the Challenges in Selenium Usage and Improving the Testing Effi...
Mining Development Knowledge to Understand and Support Software Logging Pract...
Which Log Level Should Developers Choose For a New Logging Statement?
Towards Just-in-Time Suggestions for Log Changes
The Impact of Task Granularity on Co-evolution Analyses
A Framework for Evaluating the Results of the SZZ Approach for Identifying Bu...
How are Discussions Associated with Bug Reworking? An Empirical Study on Open...
A Study of the Relation of Mobile Device Attributes with the User-Perceived Q...
A Large-Scale Study of the Impact of Feature Selection Techniques on Defect C...
Studying the Dialogue Between Users and Developers of Free Apps in the Google...
What Do Programmers Know about Software Energy Consumption?
Threshold for Size and Complexity Metrics: A Case Study from the Perspective ...
Revisiting the Experimental Design Choices for Approaches for the Automated R...
Measuring Program Comprehension: A Large-Scale Field Study with Professionals

Recently uploaded (20)

PPTX
Operating system designcfffgfgggggggvggggggggg
PDF
How Creative Agencies Leverage Project Management Software.pdf
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025
PDF
Odoo Companies in India – Driving Business Transformation.pdf
PPTX
Online Work Permit System for Fast Permit Processing
PDF
AI in Product Development-omnex systems
PDF
Claude Code: Everyone is a 10x Developer - A Comprehensive AI-Powered CLI Tool
PDF
Design an Analysis of Algorithms II-SECS-1021-03
PPTX
VVF-Customer-Presentation2025-Ver1.9.pptx
PPTX
L1 - Introduction to python Backend.pptx
PDF
How to Migrate SBCGlobal Email to Yahoo Easily
PDF
Design an Analysis of Algorithms I-SECS-1021-03
PDF
SAP S4 Hana Brochure 3 (PTS SYSTEMS AND SOLUTIONS)
PDF
System and Network Administraation Chapter 3
PDF
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
PDF
Raksha Bandhan Grocery Pricing Trends in India 2025.pdf
PDF
medical staffing services at VALiNTRY
PDF
Wondershare Filmora 15 Crack With Activation Key [2025
PDF
Nekopoi APK 2025 free lastest update
PPTX
ISO 45001 Occupational Health and Safety Management System
Operating system designcfffgfgggggggvggggggggg
How Creative Agencies Leverage Project Management Software.pdf
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025
Odoo Companies in India – Driving Business Transformation.pdf
Online Work Permit System for Fast Permit Processing
AI in Product Development-omnex systems
Claude Code: Everyone is a 10x Developer - A Comprehensive AI-Powered CLI Tool
Design an Analysis of Algorithms II-SECS-1021-03
VVF-Customer-Presentation2025-Ver1.9.pptx
L1 - Introduction to python Backend.pptx
How to Migrate SBCGlobal Email to Yahoo Easily
Design an Analysis of Algorithms I-SECS-1021-03
SAP S4 Hana Brochure 3 (PTS SYSTEMS AND SOLUTIONS)
System and Network Administraation Chapter 3
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
Raksha Bandhan Grocery Pricing Trends in India 2025.pdf
medical staffing services at VALiNTRY
Wondershare Filmora 15 Crack With Activation Key [2025
Nekopoi APK 2025 free lastest update
ISO 45001 Occupational Health and Safety Management System

Animated Visualization of Software History Using Software Evolution Storyboards

  • 1. EPFLEPFL Dirk.Beyer@epfl.chDirk.Beyer@epfl.ch Dirk BeyerDirk Beyer Simon Fraser UniversitySimon Fraser University Dirk.Beyer@sfu.caDirk.Beyer@sfu.ca Animated Visualization of Software History Using Evolution Storyboards Ahmed E. HassanAhmed E. Hassan University Of VictoriaUniversity Of Victoria ahmed@uvic.caahmed@uvic.ca
  • 2. Visualizing Software Evolution • Static visualizations of evolution: – fail to capture the dynamics of software evolution • A movie visualization of evolution: – is not easy to control by developers (who want to focus on particular time periods, or parts of a system) • We propose a visualization, evolution storyboards, which strikes a balance between static and movie visualizations
  • 3. Storyboard • Produced traditionally beforehand for directors and cinematographers • Used to study movie scenes and to uncover potential problems before they occur
  • 5. Evolution Storyboard • An evolution storyboard contains dynamic panels • Each panel depicts consecutively important events and periods in the lifetime of long- lived software systems
  • 6. Our Graph Model • Nodes: files/functions/subsystems • Edges: co-change (from CVS) • Layout: energy-based A B C D A B C D C1 C2
  • 7. Studied Systems System Years Commits Nodes Edges ArgoUML 8 10,108 20,247 57,036 PostgreSQL 9 7,882 9,086 35,809 Mozilla 6 9,950 11,754 30,938
  • 8. Properties of Our Layout Algorithm • Related nodes are placed together, non-related nodes are placed far apart • Strongly connected nodes separate out from the rest of the graph
  • 9. Approach Overview • To avoid blur and clutter: – We ignore small movements of a node, • if its degree did not change – We do not highlight a node’s movement, • if it did not move much (e.g. < 1% of panel size) • if its degree is too small – We use a “follow your neighbors” heuristic
  • 10. Storyboard Colouring • Authoritative decomposition: – subsystems / directory • Heat Map based on a node’s movement: – Orange (moved in 40% of panels), Yellow (30%), Green (20%), Gray (10%)
  • 11. Panels in Evolution Storyboards
  • 12. Panels in Evolution Storyboards
  • 13. Benefits of Evolution Storyboards • Spot good structure – well separated nodes • Explain decay symptoms: – colouring patterns (separate/mixed colours) • Highlight refactoring candidates: – frequently moving nodes (using heat colouring)
  • 15. Mozilla 1st Panel in Storyboard
  • 18. Conclusion • Static visualizations of evolution do not capture the dynamics of software evolution • The approach has been applied to several large software systems: Mozilla, ArgoUML, PostgreSQL • Evolution storyboards can help: – Spot good structure – Explain design decay – Highlight refactoring candidates