52
Shane McIntosh Ahmed E. Hassan Katie Legere Orchestrating Change An Artistic Representation of Software Evolution SOFTWARE ANALYSIS & INTELLIGENCE LAB @shane_mcintosh [email protected]

Orchestrating Change: An Artistic Representation of Software Evolution

Embed Size (px)

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

Page 1: Orchestrating Change: An Artistic Representation of Software Evolution

Shane McIntosh

Ahmed E. Hassan

Katie Legere

Orchestrating Change An Artistic Representation of Software Evolution

SOFTWARE ANALYSIS

& INTELLIGENCE LAB

@[email protected]

Page 2: Orchestrating Change: An Artistic Representation of Software Evolution

What does

software sound like?

…And it doesn’t sound awful

!2

Page 3: Orchestrating Change: An Artistic Representation of Software Evolution

What does

software sound like?

…And it doesn’t sound awful

!2

SonificationTaxonomy and definitions for

sonification and auditory display T. Hermann

[ICAD 2008]

Page 4: Orchestrating Change: An Artistic Representation of Software Evolution

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

Page 5: Orchestrating Change: An Artistic Representation of Software Evolution

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

Page 6: Orchestrating Change: An Artistic Representation of Software Evolution

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

Page 7: Orchestrating Change: An Artistic Representation of Software Evolution

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

Page 8: Orchestrating Change: An Artistic Representation of Software Evolution

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

Page 9: Orchestrating Change: An Artistic Representation of Software Evolution

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

Page 10: Orchestrating Change: An Artistic Representation of Software Evolution

!3

Why in the (world) should we care about beauty?

Page 11: Orchestrating Change: An Artistic Representation of Software Evolution

!3

Why in the (world) should we care about beauty?

Page 12: Orchestrating Change: An Artistic Representation of Software Evolution

!3

Why in the (world) should we care about beauty?

!Open source projects need to raise funds for infrastructure and basic personnel

Page 13: Orchestrating Change: An Artistic Representation of Software Evolution

!3

Why in the (world) should we care about beauty?

!

$20.00

Open source projects need to raise funds for infrastructure and basic personnel

Page 14: Orchestrating Change: An Artistic Representation of Software Evolution

!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

Page 15: Orchestrating Change: An Artistic Representation of Software Evolution

!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:

Page 16: Orchestrating Change: An Artistic Representation of Software Evolution

!4

Why not have open!source concerts?

Page 17: Orchestrating Change: An Artistic Representation of Software Evolution

!4

Why not have open!source concerts?

Page 18: Orchestrating Change: An Artistic Representation of Software Evolution

!5

“Sonifying” Software Evolution:!Three dimensions

Page 19: Orchestrating Change: An Artistic Representation of Software Evolution

Mod

ule

M1

M2

!5

“Sonifying” Software Evolution:!Three dimensions

Page 20: Orchestrating Change: An Artistic Representation of Software Evolution

Mod

ule

M1

M2

TimeT1 T2 T3

!5

“Sonifying” Software Evolution:!Three dimensions

Page 21: Orchestrating Change: An Artistic Representation of Software Evolution

Mod

ule

M1

M2

TimeT1 T2 T3

!5

“Sonifying” Software Evolution:!Three dimensions

Developers

Page 22: Orchestrating Change: An Artistic Representation of Software Evolution

Modules & Motifs

M1

M2

Module Motif

!6

Page 23: Orchestrating Change: An Artistic Representation of Software Evolution

Modules & Motifs

M1

M2

Module Motif

!6

Page 24: Orchestrating Change: An Artistic Representation of Software Evolution

Modules & Motifs

M1

M2

Module Motif

!6

Page 25: Orchestrating Change: An Artistic Representation of Software Evolution

Modules & Motifs

M1

M2

Module Motif

!6

Page 26: Orchestrating Change: An Artistic Representation of Software Evolution

Modules & Motifs

M1

M2

Module Motif

!6

Page 27: Orchestrating Change: An Artistic Representation of Software Evolution

Time Periods & MeasuresM

odul

eM

1M

2

T1 T2

!7

Page 28: Orchestrating Change: An Artistic Representation of Software Evolution

Time Periods & MeasuresM

odul

eM

1M

2

T1 T2

!7

Page 29: Orchestrating Change: An Artistic Representation of Software Evolution

Developers & Timbre

!8

Page 30: Orchestrating Change: An Artistic Representation of Software Evolution

“Sonifying” Software Evolution!Three dimensions

!9

Mod

ule

M1

M2

TimeT1 T2 T3

Developers

Page 31: Orchestrating Change: An Artistic Representation of Software Evolution

Three challenges

“Sonifying” Software Evolution

!10

Mod

ule

M1

M2

TimeT1 T2 T3

Developers

Page 32: Orchestrating Change: An Artistic Representation of Software Evolution

Three challenges

“Sonifying” Software Evolution

Musicality

!10

Mod

ule

M1

M2

TimeT1 T2 T3

Developers

Page 33: Orchestrating Change: An Artistic Representation of Software Evolution

Three challenges

“Sonifying” Software Evolution

Musicality

Representativeness

!10

Mod

ule

M1

M2

TimeT1 T2 T3

Developers

Page 34: Orchestrating Change: An Artistic Representation of Software Evolution

Three challenges

“Sonifying” Software Evolution

Musicality

Cost-Effectiveness

Representativeness

!10

Mod

ule

M1

M2

TimeT1 T2 T3

Developers

Page 35: Orchestrating Change: An Artistic Representation of Software Evolution

!11

Challenge - Musicality!Select motifs from the classical era

Page 36: Orchestrating Change: An Artistic Representation of Software Evolution

!12

Challenge - Representativeness!Musicians select granularity and tempo

Tempo Fast?

Medium-pace? Slow?

!Granularity Commits?

Days? Months?

Page 37: Orchestrating Change: An Artistic Representation of Software Evolution

!12

Challenge - Representativeness!Musicians select granularity and tempo

Tempo Fast?

Medium-pace? Slow?

!Granularity Commits?

Days? Months?

!

Consult an expert!

Page 38: Orchestrating Change: An Artistic Representation of Software Evolution

Challenge - Cost-Effectiveness!Infrequent contributors map to percussion

!13

Page 39: Orchestrating Change: An Artistic Representation of Software Evolution

Challenge - Cost-Effectiveness!Infrequent contributors map to percussion

!13

Page 40: Orchestrating Change: An Artistic Representation of Software Evolution

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

Page 41: Orchestrating Change: An Artistic Representation of Software Evolution

Eclipse Foundational Period!Bursty Periods of Activity

!15

Page 42: Orchestrating Change: An Artistic Representation of Software Evolution

Eclipse Foundational Period!Bursty Periods of Activity

!15

Page 43: Orchestrating Change: An Artistic Representation of Software Evolution

Eclipse Maintenance Period!Consonance vs. Dissonance

!16

Page 44: Orchestrating Change: An Artistic Representation of Software Evolution

Frequent co-change incident

Eclipse Maintenance Period!Consonance vs. Dissonance

!16

Page 45: Orchestrating Change: An Artistic Representation of Software Evolution

Rare co-change incident

Frequent co-change incident

Eclipse Maintenance Period!Consonance vs. Dissonance

!16

Page 46: Orchestrating Change: An Artistic Representation of Software Evolution
Page 47: Orchestrating Change: An Artistic Representation of Software Evolution
Page 48: Orchestrating Change: An Artistic Representation of Software Evolution
Page 49: Orchestrating Change: An Artistic Representation of Software Evolution
Page 50: Orchestrating Change: An Artistic Representation of Software Evolution
Page 51: Orchestrating Change: An Artistic Representation of Software Evolution