Orchestrating Change: An Artistic Representation of Software Evolution

Preview:

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.

Citation preview

Shane McIntosh

Ahmed E. Hassan

Katie Legere

Orchestrating Change An Artistic Representation of Software Evolution

SOFTWARE ANALYSIS

& INTELLIGENCE LAB

@shane_mcintoshshanemcintosh@acm.org

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

@shane_mcintoshshanemcintosh@acm.org