Top Banner
Gail Murphy Univ. of British Columbia Tasktop Technologies Software Supply Chains @gail_murphy Photo copyright Wierink/Shutterstock With exception of pictures and icons
72

Software Supply Chains

Apr 16, 2017

Download

Software

Gail Murphy
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Software Supply Chains

Gail MurphyUniv. of British Columbia

Tasktop Technologies

Software Supply Chains

@gail_murphyPhoto copyright Wierink/Shutterstock

With exception of pictures and icons

Page 2: Software Supply Chains

2

○○○○ ○○

○○

iPhone Supply Chain

Source: Supply Chain 24/7, 09/14

California: Design

TI:Touchscreen

Micron: Flash memory

Cirrus Logic:Audio

Murata: Bluetooth/

Wifi

Infineon: Phone

network

Dialog Semiconductors:

Power mngmt

Samsung: Processors

ST Microelectronics: Accelerometers/

Gysroscope

Page 3: Software Supply Chains

3

Software Supply Chains

Loose Tight

Page 4: Software Supply Chains

4

Loose Software Supply Chain

component requests

17.2B

supplierstotal

components

>105K >834K

2014: Central Repository of Java open source components2015 State of the Software: Supply Chain Report (Sonatype)

Page 5: Software Supply Chains

5

Tight Software Supply Chain

Page 6: Software Supply Chains

6

All is good?

Page 7: Software Supply Chains

7

Outline

Reality: Loose Supply Chain

Naïve View

Reality: Tight Supply Chain

ä

"

Page 8: Software Supply Chains

8Open Problems

Key points:

(re)use is not free controlled transparency

Caveats:

challenges over solutions

"

Page 9: Software Supply Chains

Naïve View

Page 10: Software Supply Chains

10

specialized excellence

lower costs

higher quality

Supply Chain: suppliers, parts, manufacturers, finished goods…

Naïve View

Page 11: Software Supply Chains

11

Software Supply Chain Spectrum

Naïve View

Loose Tight

Bouncy Castleused >> 10K organizations

Page 12: Software Supply Chains

12Naïve View

Loose

(vast) majority of developers are part of a software supply chain

suppliers components YOU! software

Page 13: Software Supply Chains

13Naïve View

Loose

supplierstotal

components

>105K >834K

central repository GitHub project dependences

Page 14: Software Supply Chains

14Naïve View

Loose

build products (and other components) faster

higher-quality components

low cost to (re)use

ongoing updates

{

{

{

{

Page 15: Software Supply Chains

15Naïve View

Tight

multiple tiers of contractually-obligated suppliers

Boeing General Electric Hydro-Aire

Page 16: Software Supply Chains

16Naïve View

Tight

higher-quality components

on-time production

lower overall product cost

{

{

{

Page 17: Software Supply Chains

17

Software Supply Chains

Loose Tight

faster, better, cheaper

open closed

Page 18: Software Supply Chains

Reality View:

Loose Supply Chain

Photo copyright Gniot/Shutterstock

Page 19: Software Supply Chains

19Reality View / Loose Supply Chain

Two Parts

Social

SQuality

Q

Page 20: Software Supply Chains

20Reality View / Loose Supply Chain

Social Implications of OSS Library Use

S

How often does the use of an OSS library lead to a social link between projects?

Do social contributions occur before or after a dependence is introduced on a library?

What kind of social contributions occur?

#1

#2

#3

Palyart and Murphy, 2015, under review

Page 21: Software Supply Chains

21

Terminology

Reality View / Loose Supply Chain S

A Btechnical dependence

social interactionsissue

comments pull request

commitPalyart and Murphy, 2015, under review

userproject/

repository

libraryproject/

repository

Page 22: Software Supply Chains

22

Data

Reality View / Loose Supply Chain S

23,059 - not a fork - public - forked at least twice - use Maven

17,900 - depend on GitHub 1,227 - high confidence in correct library dependences1,409 - > 20 issues

- issues > 5% pull requests - handle account deletions

=1,125 GitHub repos

Palyart and Murphy, 2015, under review

Page 23: Software Supply Chains

23

Data

Reality View / Loose Supply Chain S

A BLibrary / Date

Technical Link

Dev / Date / Contribissue

comments pull request

commit

Social Link

Palyart and Murphy, 2015, under review

Page 24: Software Supply Chains

24

#1 - How often does library use lead to social links?

Reality View / Loose Supply Chain S

Guava

mcMMO

Vault

Netty

Assertj

Junit

AppsgateJSONassert0%

25%

50%

75%

100%

4 32 256 2048Number of user repositories

Rs:

Rat

io o

f use

r rep

osito

ries

havi

ng a

soc

ial l

ink

Palyart and Murphy, 2015, under review

Page 25: Software Supply Chains

25

#1 - How often does library use lead to social links?

Reality View / Loose Supply Chain S

Guava

mcMMO

Vault

Netty

Assertj

Junit

AppsgateJSONassert0%

25%

50%

75%

100%

4 32 256 2048Number of user repositories

Rs:

Rat

io o

f use

r rep

osito

ries

havi

ng a

soc

ial l

ink

projects that often have a social link (28%)

Palyart and Murphy, 2015, under review

Page 26: Software Supply Chains

26

#1 - How often does library use lead to social links?

Reality View / Loose Supply Chain S

Guava

mcMMO

Vault

Netty

Assertj

Junit

AppsgateJSONassert0%

25%

50%

75%

100%

4 32 256 2048Number of user repositories

Rs:

Rat

io o

f use

r rep

osito

ries

havi

ng a

soc

ial l

ink

projects that sometimes have a social link (23%)

Palyart and Murphy, 2015, under review

Page 27: Software Supply Chains

27

#1 - How often does library use lead to social links?

Reality View / Loose Supply Chain S

Guava

mcMMO

Vault

Netty

Assertj

Junit

AppsgateJSONassert0%

25%

50%

75%

100%

4 32 256 2048Number of user repositories

Rs:

Rat

io o

f use

r rep

osito

ries

havi

ng a

soc

ial l

ink

projects that rarely have a social link (49%)

Palyart and Murphy, 2015, under review

Page 28: Software Supply Chains

28

#1 - How often does library use lead to social links?

Reality View / Loose Supply Chain S

Guava

mcMMO

Vault

Netty

Assertj

Junit

AppsgateJSONassert0%

25%

50%

75%

100%

4 32 256 2048Number of user repositories

Rs:

Rat

io o

f use

r rep

osito

ries

havi

ng a

soc

ial l

ink

generally…

the more popular the library,

the less likely developers of a user project are to get involved

Palyart and Murphy, 2015, under review

Page 29: Software Supply Chains

29

#2 - When do social contributions occur related to library use?

Reality View / Loose Supply Chain S

A B

Technical LinkSocial Link

in only 61% of pairs, did technical precede social

Palyart and Murphy, 2015, under review

Page 30: Software Supply Chains

30

#2 - When do social contributions occur related to library use?

Reality View / Loose Supply Chain S

Palyart and Murphy, 2015, under review

July August September October November

in 39% of pairs, social preceded technical

social before technical

http://www.cs.ubc.ca/~mpalyart/stc_timeline/

Page 31: Software Supply Chains

31

#2 - When do social contributions occur related to library use?

Reality View / Loose Supply Chain S

0

1000

2000

3000

Social before technical Technical before social

Num

ber o

f day

s

social before technical most interactions within a few monthstechnical before social more interactions span a longer time

time to involvement

Palyart and Murphy, 2015, under review

0

1000

2000

3000

Social before technical Technical before social

Num

ber o

f day

s

10

1000

Social before technical Technical before social

Num

ber o

f day

s

1

10

100

1000

10000

Social before technical Technical before social

Num

ber o

f con

trib

utio

ns

Page 32: Software Supply Chains

32

#2 - When do social contributions occur related to library use?

Reality View / Loose Supply Chain S

0

1000

2000

3000

Social before technical Technical before social

Num

ber o

f day

s

10

1000

Social before technical Technical before social

Num

ber o

f day

s

social before technical either short involvement or quite longtechnical before social most involvement under 5 days

duration of involvement

Palyart and Murphy, 2015, under review

10

1000

Social before technical Technical before social

Num

ber o

f day

s

1

10

100

1000

10000

Social before technical Technical before social

Num

ber o

f con

trib

utio

ns

Page 33: Software Supply Chains

1

10

100

1000

10000

Social before technical Technical before social

Num

ber o

f con

trib

utio

ns

33

#2 - When do social contributions occur related to library use?

Reality View / Loose Supply Chain S

social before technical more contributions, stronger communities? technical before social mostly < 10 contributions

number of contributions

1

10

100

1000

10000

Social before technical Technical before social

Num

ber o

f con

trib

utio

ns

Palyart and Murphy, 2015, under review

0

1000

2000

3000

Social before technical Technical before social

Num

ber o

f day

s

10

1000

Social before technical Technical before social

Num

ber o

f day

s

Page 34: Software Supply Chains

34

#2 - When do social contributions occur related to library use?

Reality View / Loose Supply Chain S

0

1000

2000

3000

Social before technical Technical before social

Num

ber o

f day

s

10

1000

Social before technical Technical before social

Num

ber o

f day

s

1

10

100

1000

10000

Social before technical Technical before social

Num

ber o

f con

trib

utio

ns

when social before technical (39%)…more often closely tied to technical and often more contributions

when technical before social (61%)…

may take a long time for interaction and then the interactions are often quick

Palyart and Murphy, 2015, under review

Page 35: Software Supply Chains

35

#3 - What kind of social contributions occur?

Reality View / Loose Supply Chain S

A B

Technical LinkSocial Link

Forward

User Library

35% of pairs

seeking help, feature requests, pull requests

Palyart and Murphy, 2015, under review

Page 36: Software Supply Chains

36

#3 - What kind of social contributions occur?

Reality View / Loose Supply Chain S

A B

Technical LinkSocial Link

Backward

User Library

30% of pairs

existing social community between projects

Palyart and Murphy, 2015, under review

Page 37: Software Supply Chains

37

#3 - What kind of social contributions occur?

Reality View / Loose Supply Chain S

A B

Technical LinkSocial Link

Forward & Backward

User Library

35% of pairs

user developers contribute to library library developers later do pull-request to user project to update library

Palyart and Murphy, 2015, under review

Page 38: Software Supply Chains

38

#3 - What kind of social contributions occur?

Reality View / Loose Supply Chain S

●●●

●●●

●●

●●

●●●

●●

●●

●●●●●●

●●●●

●●●●●●●●●

●●

●●

●●●

●●

●●●●●●●●●

●●●●●

●●●

●●●

●●●

●●●

●●●

●●●

●●●

●●●●

●●●●●●

●●●

0

10

20

30

40

BO F&B FO

Num

ber o

f dev

elop

ers

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●●

●●

●●

●●

●●

●●

●●

●●

●●

0

200

400

600

BO F&B FO

Num

ber o

f day

s

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●●

●●

●●

●●●●

●●●●●●

●●●

●●

0

500

1000

1500

2000

BO F&B FO

Num

ber o

f con

trib

utio

ns

= backward only = forward & backward

= forward only

# developers # social contributions

Palyart and Murphy, 2015, under review

Page 39: Software Supply Chains

39

#3 - What kind of social contributions occur?

Reality View / Loose Supply Chain S

●●●

●●●

●●

●●

●●●

●●

●●

●●●●●●

●●●●

●●●●●●●●●

●●

●●

●●●

●●

●●●●●●●●●

●●●●●

●●●

●●●

●●●

●●●

●●●

●●●

●●●

●●●●

●●●●●●

●●●

0

10

20

30

40

BO F&B FO

Num

ber o

f dev

elop

ers

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●●

●●

●●

●●

●●

●●

●●

●●

●●

0

200

400

600

BO F&B FO

Num

ber o

f day

s

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●●

●●

●●

●●●●

●●●●●●

●●●

●●

0

500

1000

1500

2000

BO F&B FO

Num

ber o

f con

trib

utio

ns

= backward only = forward & backward

= forward onlyPalyart and Murphy, 2015, under review

involvement time

Page 40: Software Supply Chains

40

#3 - What kind of social contributions occur?

Reality View / Loose Supply Chain S

●●●

●●●

●●

●●

●●●

●●

●●

●●●●●●

●●●●

●●●●●●●●●

●●

●●

●●●

●●

●●●●●●●●●

●●●●●

●●●

●●●

●●●

●●●

●●●

●●●

●●●

●●●●

●●●●●●

●●●

0

10

20

30

40

BO F&B FO

Num

ber o

f dev

elop

ers

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●●

●●

●●

●●

●●

●●

●●

●●

●●

0

200

400

600

BO F&B FO

Num

ber o

f day

s

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●●

●●

●●

●●●●

●●●●●●

●●●

●●

0

500

1000

1500

2000

BO F&B FO

Num

ber o

f con

trib

utio

ns

= backward only = forward & backward

= forward only

# developers # social contributions

Palyart and Murphy, 2015, under review

more backward social contributions than expected and their presence indicates a strong social link

involvement time

Page 41: Software Supply Chains

41

Loose Software Supply Chain

Reality View / Loose Supply Chain

often a social cost to using a library

more often than expected cost to being a library

Page 42: Software Supply Chains

42Reality / Tight Supply Chain

Two Parts

Social

SQuality

Q

Page 43: Software Supply Chains

43Reality View / Loose Supply Chain

Quality Implications of OSS Library Use

Q

component requests

17.2B

supplierstotal

components

>105K >834K

2014: Central Repository of Java open source components2015 State of the Software: Supply Chain Report (Sonatype)

constant updating

~ 3.5 times / yr

Page 44: Software Supply Chains

44Reality View / Loose Supply Chain

Quality Implications of OSS Library Use

Q

Almost too Big to Fail, Geer and Corman, USENIX 2014

A Bdirect (1-hop)

only 41% of vulnerable dependencies remediated

mean-time-to-repair of these was 390 days

CVSS level 10 - still 224 days to repair

B’

Page 45: Software Supply Chains

45Reality View / Loose Supply Chain

Quality Implications of OSS Library Use

Q

CVE-2013-2251CVSS 9.3Exploitability 10

since identification…

4,076 organizations have downloaded the vulnerable component 179,050 times

2015 State of the Software: Supply Chain Report (Sonatype)

Page 46: Software Supply Chains

46Reality View / Loose Supply Chain

Quality Implications of OSS Library Use

Q

CVE-2007-6721CVSS 10Exploitability 10

since identification…

11,236 organizations have downloaded the vulnerable component 214,484 times

2015 State of the Software: Supply Chain Report (Sonatype)

Page 47: Software Supply Chains

47Reality View / Loose Supply Chain

Quality Implications of OSS Library Use

Q

2015 State of the Software: Supply Chain Report (Sonatype)

7.5%

66%

of 240,757 component downloads by large

financial or technology firms in 2014…

were of known defective part

and or those with a defective part, the defects were older than 2013

Page 48: Software Supply Chains

48

Loose Software Supply Chain

Reality View / Loose Supply Chain

(re)use is not free

social and upgrade costs to use

Page 49: Software Supply Chains

Reality View:

Tight SupplyChain

Photo copyright Gniot/Shutterstock

Page 50: Software Supply Chains

50Reality / Tight Supply Chain

Two Parts

Social

SQuality

Q

Page 51: Software Supply Chains

51

Tight Software Supply Chain

Reality / Tight Supply Chains S

contractual agreement

contractual agreement

Page 52: Software Supply Chains

52

Tight Software Supply Chain

Reality / Tight Supply Chains

Boeing General Electric

Hydro-Aire

S

contractual agreement

contractual agreement

Page 53: Software Supply Chains

53

Communication

Reality / Tight Supply Chains S

contractual agreement

contractual agreement

restricted information flow

restricted information flow

Page 54: Software Supply Chains

54

Communication

Reality / Tight Supply Chains S

contractual agreement

contractual agreement

Req Change #2

Req Change #1

Test Result #3

Page 55: Software Supply Chains

55

Communication

Reality / Tight Supply Chains S

contractual agreement

contractual agreement

Req Change #2

Req Change #1

Test Result #3

Page 56: Software Supply Chains

56

Communication

Reality / Tight Supply Chains S

contractual agreement

contractual agreement

Page 57: Software Supply Chains

57

Communication

Reality / Tight Supply Chains S

Doors RTC

HP Quality Center

Blueprint RTC

HP Quality Center

VersionOne Eclipse

HP Quality Center

Page 58: Software Supply Chains

58

Communication

Reality / Tight Supply Chains S

Doors RTC

HP Quality Center

Blueprint RTC

HP Quality Center

VersionOne Eclipse

HP Quality Center

Schema Mappings

Schema Mappings

Page 59: Software Supply Chains

59

Tight Software Supply Chain

Reality View / Loose Supply Chain

need tools to facilitate appropriate communication

Page 60: Software Supply Chains

60Reality / Tight Supply Chain

Two Parts

Social

SQuality

Q

Page 61: Software Supply Chains

61

Tight Software Supply Chain

Reality / Tight Supply Chains

Boeing General Electric

Hydro-Aire

Q

ability to verify the brake software wasn’t built in

Page 62: Software Supply Chains

62

Tight Software Supply Chain

Reality / Tight Supply Chains

Boeing General Electric

Hydro-Aire

Q

full transparencyfull opacity

Page 63: Software Supply Chains

63

Tight Software Supply Chain

Reality / Tight Supply Chains Q

controlled transparency

balance need to share with protection of intellectual property

Page 64: Software Supply Chains

OpenProblems

Illustration copyright Ai825/Shutterstock

Page 65: Software Supply Chains

65Open Problems

Loose Software Supply Chains

assess when a component

upgrade is needed?

lower the cost of quality and

security upgrades?

measureand predict

social cost ofcomponent use?

determine when backward social

contributions areneeded?

can we….

ä ä ä ä

Page 66: Software Supply Chains

66Open Problems

Tight Software Supply Chains

cost-effectively manage

multi-tiered supply chains?

effectively handle arrangements of tight and loose supply chains?

automatically apply IP filters to

information exchange?

provide white-box information without

revealing secret sauce?

can we….

ä ä ä ä

Page 67: Software Supply Chains

Illustration copyright Nenov Brothers Images

/Shutterstock

Page 68: Software Supply Chains

68Summary

Thanks to many post-docs, students and industrial collaborators over the years for their insights.Thanks to NECSIS colleagues (particularly Jo Atlee, Marsha Chechik and Mark Lawford)for conversations.

Thanks to Sonatype for an analysis of the Central Repository.

Marc Palyart Mik Kersten Dave West

Page 69: Software Supply Chains

69Summary

Software Supply Chains

NaïveBetter, faster, cheaper

Loose Supply ChainReuse is not free

Tight Supply ChainControlled transparencyNaïve

Tight

Loose

OpenOpen ProblemsTechnical and ecosystem

Page 70: Software Supply Chains

70Summary

Software Supply Chains

“supply chain” conjures up thoughts of organized, managed flows

for software supply chains, the reality is different (chaotic? brittle?)

(re)use is not free controlled transparency

@gail_murphy

Loose Tight

Photo copyright Wierink/Shutterstock

Page 71: Software Supply Chains

71Summary

Software Supply Chains

“supply chain” conjures up thoughts of organized, managed flows

for software supply chains, the reality is different (chaotic? brittle?)

(re)use is not free controlled transparency

@gail_murphy

Loose Tight

Photo copyright Wierink/Shutterstock

Page 72: Software Supply Chains

Gail MurphyUniv. of British Columbia

Tasktop Technologies

Software Supply Chains

@gail_murphyPhoto copyright Wierink/Shutterstock

With exception of pictures and icons