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

Software Supply Chains

Embed Size (px)

Citation preview

Gail MurphyUniv. of British Columbia

Tasktop Technologies

Software Supply Chains

@gail_murphyPhoto copyright Wierink/Shutterstock

With exception of pictures and icons

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

3

Software Supply Chains

Loose Tight

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)

5

Tight Software Supply Chain

6

All is good?

7

Outline

Reality: Loose Supply Chain

Naïve View

Reality: Tight Supply Chain

ä

"

8Open Problems

Key points:

(re)use is not free controlled transparency

Caveats:

challenges over solutions

"

Naïve View

10

specialized excellence

lower costs

higher quality

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

Naïve View

11

Software Supply Chain Spectrum

Naïve View

Loose Tight

Bouncy Castleused >> 10K organizations

12Naïve View

Loose

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

suppliers components YOU! software

13Naïve View

Loose

supplierstotal

components

>105K >834K

central repository GitHub project dependences

14Naïve View

Loose

build products (and other components) faster

higher-quality components

low cost to (re)use

ongoing updates

{

{

{

{

15Naïve View

Tight

multiple tiers of contractually-obligated suppliers

Boeing General Electric Hydro-Aire

16Naïve View

Tight

higher-quality components

on-time production

lower overall product cost

{

{

{

17

Software Supply Chains

Loose Tight

faster, better, cheaper

open closed

Reality View:

Loose Supply Chain

Photo copyright Gniot/Shutterstock

19Reality View / Loose Supply Chain

Two Parts

Social

SQuality

Q

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

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

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

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

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

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

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

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

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

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

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/

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

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

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

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

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

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

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

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

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

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

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

42Reality / Tight Supply Chain

Two Parts

Social

SQuality

Q

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

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’

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)

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)

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

48

Loose Software Supply Chain

Reality View / Loose Supply Chain

(re)use is not free

social and upgrade costs to use

Reality View:

Tight SupplyChain

Photo copyright Gniot/Shutterstock

50Reality / Tight Supply Chain

Two Parts

Social

SQuality

Q

51

Tight Software Supply Chain

Reality / Tight Supply Chains S

contractual agreement

contractual agreement

52

Tight Software Supply Chain

Reality / Tight Supply Chains

Boeing General Electric

Hydro-Aire

S

contractual agreement

contractual agreement

53

Communication

Reality / Tight Supply Chains S

contractual agreement

contractual agreement

restricted information flow

restricted information flow

54

Communication

Reality / Tight Supply Chains S

contractual agreement

contractual agreement

Req Change #2

Req Change #1

Test Result #3

55

Communication

Reality / Tight Supply Chains S

contractual agreement

contractual agreement

Req Change #2

Req Change #1

Test Result #3

56

Communication

Reality / Tight Supply Chains S

contractual agreement

contractual agreement

57

Communication

Reality / Tight Supply Chains S

Doors RTC

HP Quality Center

Blueprint RTC

HP Quality Center

VersionOne Eclipse

HP Quality Center

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

59

Tight Software Supply Chain

Reality View / Loose Supply Chain

need tools to facilitate appropriate communication

60Reality / Tight Supply Chain

Two Parts

Social

SQuality

Q

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

62

Tight Software Supply Chain

Reality / Tight Supply Chains

Boeing General Electric

Hydro-Aire

Q

full transparencyfull opacity

63

Tight Software Supply Chain

Reality / Tight Supply Chains Q

controlled transparency

balance need to share with protection of intellectual property

OpenProblems

Illustration copyright Ai825/Shutterstock

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….

ä ä ä ä

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….

ä ä ä ä

Illustration copyright Nenov Brothers Images

/Shutterstock

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

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

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

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

Gail MurphyUniv. of British Columbia

Tasktop Technologies

Software Supply Chains

@gail_murphyPhoto copyright Wierink/Shutterstock

With exception of pictures and icons