orchestrating change: an artistic representation of software evolution
DESCRIPTION
Several visualization tools have been proposed to highlight interesting software evolution phenomena. These tools help practitioners to navigate large and complex software systems, and also support researchers in studying software evolution. However, little work has explored the use of sound in the context of software evolution. In this paper, we propose the use of musical interpretation to support exploration of software evolution data. In order to generate music inspired by software evolution, we use parameter-based sonification, i.e., a mapping of dataset characteristics to sound. Our approach yields musical scores that can be played synthetically or by a symphony orchestra. In designing our approach, we address three challenges: (1) the generated music must be aesthetically pleasing, (2) the generated music must accurately reflect the changes that have occurred, and (3) a small group of musicians must be able to impersonate a large development team. We assess the feasibility of our approach using historical data from Eclipse, which yields promising results.TRANSCRIPT
Shane McIntosh
Ahmed E. Hassan
Katie Legere
Orchestrating Change An Artistic Representation of Software Evolution
SOFTWARE ANALYSIS
& INTELLIGENCE LAB
What does
software sound like?
…And it doesn’t sound awful
!2
What does
software sound like?
…And it doesn’t sound awful
!2
SonificationTaxonomy and definitions for
sonification and auditory display T. Hermann
[ICAD 2008]
What does
software sound like?
…And it doesn’t sound awful
!2
SonificationTaxonomy and definitions for
sonification and auditory display T. Hermann
[ICAD 2008]
Program Comprehension
What does
software sound like?
…And it doesn’t sound awful
!2
SonificationTaxonomy and definitions for
sonification and auditory display T. Hermann
[ICAD 2008]
When bugs sing P. Vickers, J. L. Alty
[IWC 2002]
Program Comprehension
What does
software sound like?
…And it doesn’t sound awful
!2
SonificationTaxonomy and definitions for
sonification and auditory display T. Hermann
[ICAD 2008]
Software Visualization with Audio Supported
Cognitive Glyphs S. Boccuzzo and H. Gall
[ICSM 2008]
When bugs sing P. Vickers, J. L. Alty
[IWC 2002]
Program Comprehension
What does
software sound like?
…And it doesn’t sound awful
!2
SonificationTaxonomy and definitions for
sonification and auditory display T. Hermann
[ICAD 2008]
Software Visualization with Audio Supported
Cognitive Glyphs S. Boccuzzo and H. Gall
[ICSM 2008]
Sonification Design Guidelines to Enhance Program Comprehension
K. Hussein, E. Tilevich, I. Bukvic, SB. Kim [ICPC 2009]
When bugs sing P. Vickers, J. L. Alty
[IWC 2002]
Program Comprehension
What does
software sound like?
…And it doesn’t sound awful
!2
SonificationTaxonomy and definitions for
sonification and auditory display T. Hermann
[ICAD 2008]
Software Visualization with Audio Supported
Cognitive Glyphs S. Boccuzzo and H. Gall
[ICSM 2008]
Sonification Design Guidelines to Enhance Program Comprehension
K. Hussein, E. Tilevich, I. Bukvic, SB. Kim [ICPC 2009]
When bugs sing P. Vickers, J. L. Alty
[IWC 2002]
Can software evolution sound appealing?
Program Comprehension
What does
software sound like?
…And it doesn’t sound awful
!2
SonificationTaxonomy and definitions for
sonification and auditory display T. Hermann
[ICAD 2008]
Software Visualization with Audio Supported
Cognitive Glyphs S. Boccuzzo and H. Gall
[ICSM 2008]
Sonification Design Guidelines to Enhance Program Comprehension
K. Hussein, E. Tilevich, I. Bukvic, SB. Kim [ICPC 2009]
When bugs sing P. Vickers, J. L. Alty
[IWC 2002]
Can software evolution sound appealing?
Program Comprehension
!3
Why in the (world) should we care about beauty?
!3
Why in the (world) should we care about beauty?
!3
Why in the (world) should we care about beauty?
!Open source projects need to raise funds for infrastructure and basic personnel
!3
Why in the (world) should we care about beauty?
!
$20.00
Open source projects need to raise funds for infrastructure and basic personnel
!3
Why in the (world) should we care about beauty?
!
$20.00 $5.00
Open source projects need to raise funds for infrastructure and basic personnel
!3
Why in the (world) should we care about beauty?
!
$20.00 $5.00
Open source projects need to raise funds for infrastructure and basic personnel
The Sounds of Firefox
$???
How about:
!4
Why not have open!source concerts?
!4
Why not have open!source concerts?
!5
“Sonifying” Software Evolution:!Three dimensions
Mod
ule
M1
M2
!5
“Sonifying” Software Evolution:!Three dimensions
Mod
ule
M1
M2
TimeT1 T2 T3
!5
“Sonifying” Software Evolution:!Three dimensions
Mod
ule
M1
M2
TimeT1 T2 T3
!5
“Sonifying” Software Evolution:!Three dimensions
Developers
Modules & Motifs
M1
M2
Module Motif
!6
Modules & Motifs
M1
M2
Module Motif
!6
Modules & Motifs
M1
M2
Module Motif
!6
Modules & Motifs
M1
M2
Module Motif
!6
Modules & Motifs
M1
M2
Module Motif
!6
Time Periods & MeasuresM
odul
eM
1M
2
T1 T2
!7
Time Periods & MeasuresM
odul
eM
1M
2
T1 T2
!7
Developers & Timbre
!8
“Sonifying” Software Evolution!Three dimensions
!9
Mod
ule
M1
M2
TimeT1 T2 T3
Developers
Three challenges
“Sonifying” Software Evolution
!10
Mod
ule
M1
M2
TimeT1 T2 T3
Developers
Three challenges
“Sonifying” Software Evolution
Musicality
!10
Mod
ule
M1
M2
TimeT1 T2 T3
Developers
Three challenges
“Sonifying” Software Evolution
Musicality
Representativeness
!10
Mod
ule
M1
M2
TimeT1 T2 T3
Developers
Three challenges
“Sonifying” Software Evolution
Musicality
Cost-Effectiveness
Representativeness
!10
Mod
ule
M1
M2
TimeT1 T2 T3
Developers
!11
Challenge - Musicality!Select motifs from the classical era
!12
Challenge - Representativeness!Musicians select granularity and tempo
Tempo Fast?
Medium-pace? Slow?
!Granularity Commits?
Days? Months?
!12
Challenge - Representativeness!Musicians select granularity and tempo
Tempo Fast?
Medium-pace? Slow?
!Granularity Commits?
Days? Months?
!
Consult an expert!
Challenge - Cost-Effectiveness!Infrequent contributors map to percussion
!13
Challenge - Cost-Effectiveness!Infrequent contributors map to percussion
!13
Eclipse Feasibility StudyFoundational Period Maintenance PeriodMay 2001 - Oct 2002 Jan 2005 - Dec 2005
261 commits 315 commits
14 committers 24 committers
9 modules 27 modules
!14
Eclipse Foundational Period!Bursty Periods of Activity
!15
Eclipse Foundational Period!Bursty Periods of Activity
!15
Eclipse Maintenance Period!Consonance vs. Dissonance
!16
Frequent co-change incident
Eclipse Maintenance Period!Consonance vs. Dissonance
!16
Rare co-change incident
Frequent co-change incident
Eclipse Maintenance Period!Consonance vs. Dissonance
!16