Exploring Software Evolution Using Spectrographs Jingwei Wu, Richard C. Holt, Ahmed Hassan School of Computer Science University of Waterloo Waterloo ON.

Slides:



Advertisements
Similar presentations
Chapter 11 Software Evolution
Advertisements

Using Development History StickyNotes to Understand Software Architecture Ahmed E. Hassan and Richard C. Holt University Of Waterloo.
Software Process Models
Ch 3 System Development Environment
1 Accumulative Versioning File System Moraine and Its Application to Metrics Environment Mame Tetsuo Yamamoto * Makoto Matsushita * Katsuro Inoue *,**
Using the Crosscutting Concepts As conceptual tools when meeting an unfamiliar problem or phenomenon.
Metrics for Process and Projects
Evolution Spectrographs: Visualizing Punctuated Change in Software Evolution Jingwei Wu, Claus W. Spitzer, Ahmed E. Hassan, Richard C. Holt School of Computer.
A Design Model using Mutation Shape Emergence HYUN-AH, CHOI and HAN-JONG, JUN Focusing on mutational emergent shapes Hanyang University, Department of.
Supported by: Joint MSc curriculum in software engineering European Union TEMPUS Project CD_JEP New Topics for Software Evolution Miloš Radovanović.
Software Engineering Techniques for the Development of System of Systems Seminar of “Component Base Software Engineering” course By : Marzieh Khalouzadeh.
Introduction to Software Evolution and Maintenance
Software Evolution Managing the processes of software system change
Dr Kettani, Spring 2002 Software Engineering IIFrom Sommerville, 6th edition Software change l Managing the processes of software system change.
Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 21 Slide 1 Software evolution.
MSIS 110: Introduction to Computers; Instructor: S. Mathiyalakan1 Systems Design, Implementation, Maintenance, and Review Chapter 13.
Simulation.
Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 21 Slide 1 Software evolution.
1 Instability Visualization and Analysis Jim Whitehead Jennifer Bevan University of California, Santa Cruz
Software evolution.
Software evolution.
1 CS 426 Senior Projects Chapter 1: What is UML? Chapter 2: What is UP? [Arlow and Neustadt, 2002] January 26, 2006.
1 About Xcelsius Prasad BKR. 2 Agenda About Xcelsius and Editions Features and Components Comparison: MS Excel vs SAP Xcelsius Xcelsius.
Introduction to Systems Analysis and Design
Software Verification and Validation (V&V) By Roger U. Fujii Presented by Donovan Faustino.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 27Slide 1 Chapter 27 Software Change.
Chapter 9 – Software Evolution and Maintenance
COMPONENT-BASED SOFTWARE ENGINEERING
1 Software Maintenance and Evolution CSSE 575: Session 8, Part 2 Analyzing Software Repositories Steve Chenoweth Office Phone: (812) Cell: (937)
TEMPLATE DESIGN © Efficient Crawling of Complex Rich Internet Applications Ali Moosavi, Salman Hooshmand, Gregor v. Bochmann,
Software evolution. Objectives l To explain why change is inevitable if software systems are to remain useful l To discuss software maintenance and maintenance.
Software change  Managing the processes of software system change.
An Introduction to Software Architecture
CS746 Software Architecture Organizational Meeting Instructor: Prof. Richard C. Holt TA: Jingwei Wu.
Software Engineering CS3003 Lecture 3 Software maintenance and evolution.
Chapter 3: Software Maintenance Process Omar Meqdadi SE 3860 Lecture 3 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
Instructor: Peter Clarke
1 ECE 453 – CS 447 – SE 465 Software Testing & Quality Assurance Instructor Kostas Kontogiannis.
Reviewing Recent ICSE Proceedings For:.  Defining and Continuous Checking of Structural Program Dependencies  Automatic Inference of Structural Changes.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 27Slide 1 Software change l Managing the processes of software system change.
Software Measurement & Metrics
Crosscutting Concepts Next Generation Science Standards.
Describing Data: Displaying and Exploring Data. 4-2 GOALS 1. Develop and interpret a dot plot. 2. Construct and interpret box plots. 3. Compute and understand.
Lucian Voinea Visualizing the Evolution of Code The Visual Code Navigator (VCN) Nunspeet,
Cognitive Radio Networks: Imagination or Reality? Joseph B. Evans Deane E. Ackers Distinguished Professor of Electrical Engineering & Computer Science.
SEMINAR WEI GUO. Software Visualization in the Large.
Design Concepts By Deepika Chaudhary.
Manag ing Software Change CIS 376 Bruce R. Maxim UM-Dearborn.
Andrea Capiluppi Dipartimento di Automatica e Informatica Politecnico di Torino, Italy & Computing Dept. The Open University, UK AICA 2004, Benevento,
SOFTWARE METRICS. Software Process Revisited The Software Process has a common process framework containing: u framework activities - for all software.
International Workshop on Principles of Software Evolution1Vienna, 11 September 2001 Evolution Metrics Tom Mens Programming Technology Lab Vrije Universiteit.
Software Evolution Program evolution dynamics Software maintenance Complexity and Process metrics Evolution processes 1.
Evolution in Open Source Software (OSS) SEVO seminar at Simula, 16 March 2006 Software Engineering (SU) group Reidar Conradi, Andreas Røsdal, Jingyue Li.
Computer Science 340 Software Design & Testing Software Architecture.
1 Experience from Studies of Software Maintenance and Evolution Parastoo Mohagheghi Post doc, NTNU-IDI SEVO Seminar, 16 March 2006.
University of Waterloo Four “interesting” ways in which history can teach us about software Michael W. Godfrey * Xinyi Dong Cory Kapser Lijie Zou Software.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 21 Slide 1 Software evolution.
Chapter 2 Data in Science. Section 1: Tools and Models.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 21 Slide 1 Software evolution.
Improving System Availability in Distributed Environments Sam Malek with Marija Mikic-Rakic Nels.
3/13/2016 Data Mining 1 Lecture 2-1 Data Exploration: Understanding Data Phayung Meesad, Ph.D. King Mongkut’s University of Technology North Bangkok (KMUTNB)
1 The FreeBSD Project: a Replication Case Study of Open Source Development.
CASE Tools and their Effect on Software Quality
Case Study of Agile Development Ronald J. Leach Copyright Ronald J. Leach, 1997, 2009, 2014,
Laurea Triennale in Informatica – Corso di Ingegneria del Software I – A.A. 2006/2007 Andrea Polini XVI. Software Evolution.
Visualizing Software Evolution in Lagrein Andrejs Jermakovics, Alberto Sillitti, Raimund Moser, Giancarlo Succi
Green cloud computing 2 Cs 595 Lecture 15.
Predicting Fault-Prone Modules Based on Metrics Transitions
Chapter 27 Software Change.
Chapter 8 Software Evolution.
Presentation transcript:

Exploring Software Evolution Using Spectrographs Jingwei Wu, Richard C. Holt, Ahmed Hassan School of Computer Science University of Waterloo Waterloo ON Canada

Nov Outline Motivation Spectrographs Sound spectrograph Evolution spectrograph Dimensions, model, and coloring Template for describing spectrographs Case Studies Punctuation in OpenSSH Recent development of KOffice Developer activities in FreeBSD Conclusion

Nov Motivation Software engineers often turn to the evolution history of a software system to recover various kinds of information by means of examining evolutionary phenomena, events, and trends. Laws of evolution, logical coupling, decay indexes, evolution matrix, software volatility, … Recovered information can be useful for understanding evolution and supporting maintenance activities How the system structure evolves? Which components suffer chronic illness (unstable, faulty)? Who is the most productive developer? There are some problems regarding current techniques: Over-reduction of history data into a limited number of values Lack of a scalable method for visualizing the sheer volume of evolution data

Nov Sound Spectrograph A sound spectrograph is a picture in which: The horizontal axis represents time The vertical axis represents frequency of sound The brightness of a position represents the amplitude of a frequency component

Nov Evolution Spectrograph Fan Out of Changed Dependencies at the File Level (60 Versions of OpenSSH)

Nov Spectrograph Dimensions Time options: Fixed-length periods (e.g., months) Evolutionary events (e.g., versions and CVS commits) Spectrum options: Software decomposition into smaller units Other possible options such as software developers and implementation languages Measurement options: Per-unit basis (e.g., per-file, per-subsystem, per-developer) Various software metrics such as LOC, Fan In/Out of dependencies and defect density

Nov Spectrograph Model Time Spectrum Measurement

Nov Color normally fades from red to green Linear Gradient Exponential Decay Quartile Range Spectrograph Coloring MaxMin MaxMin MaxMin Median Lower QuartileUpper Quartile

Nov Describing a Spectrograph For each spectrograph, we give its: Intent Motivation Dimensions Coloring method Example spectrographs

Nov Example Spectrographs Punctuation in OpenSSH Find sudden and discontinuous changes occurring in the evolution of OpenSSH Recent development of KOffice Identify most frequently modified subsystems and source files Developer activities in FreeBSD Analyze the extent of developer activities during the lifetime of FreeBSD

Nov Punctuation in OpenSSH Intent Look for evidence of punctuation, (sudden discontinuous change) in software system evolution Motivation An evolving software system needs to be regularly adapted to meet changing requirements Dimensions Time — versions Spectrum — ordered source files Measurement — Fan In/Out of dependencies between files Coloring Method Exponential decay Fan Out of Changed Dependencies at the File Level

Nov Punctuation in OpenSSH Change to an aspect (merging log-client.c and log-server.c into log.c) Release 2.0 implemented SSH2 Release added support for Secure File Transfer Protocol (SFTP) Releases 3.0 and 3.1 were aimed at consolidating the system architecture Fan In of Changed DependenciesFan Out of Changed Dependencies

Nov Observations Software systems often show characteristics of punctuation during their evolution We have also observed punctuation in the evolution of Linux and PostgreSQL Punctuations are mainly caused by new functionality and system restructuring Punctuations are mostly related to milestone releases

Nov Development of KOffice 200 CVS Commits 13 Top Level Subsystems

Nov Development of KOffice 200 CVS Commits 31 Second Level Subsystems

Nov Development of KOffice 200 CVS Commits 327 Source Files

Nov Observations Spectrographs provide strong visual cues for recognizing change-prone components at varying levels of granularity. Different stake holders of a software system use spectrographs for different purposes Managers focus on change at higher levels Developers play in their own small world

Nov Developer Activities in FreeBSD Cardinality of CVS Commit Development Months

Nov Observations There is a growing trend toward larger commits in FreeBSD Possibly a sign of decay? The extent of programmer activities in FreeBSD varies dramatically Top experienced programmers worked on the majority of top-level subsystems and 20~60 second-level subsystems Junior programmers worked on 1~2 top-level subsystems and 5~20 second-level subsystems

Nov Conclusion Spectrograph provides a scalable way to visualize the evolution of large software systems Displays time, spectrum and software property measurement Can highlight main evolutionary events during system lifetime Can be used for various purposes in software understanding and maintenance