Transcript
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