Is 

software engineering research
addressing 

software engineering problems?
Gail C. Murphy
University of British Columbia
@gail_murphy
Is 

software engineering research
addressing 

software engineering problems?
Gail C. Murphy
University of British Columbia
@gail_murphy
of course…
Engineering software requires…
Specification
Design
Implementation
Testing
and software engineering researchers work on these topics
3
Your Full Title Here
PUT A TEXT DOLOR SIT AMET, FULL
SCREEN TITLE HERES
Eget provident et, enim ex erat massa
vitae luctus et, ultricies sit praesent
commodo felis ac purus. Sociosqu nec,
montes maecenas elit, convallis magna
elit habitant at, adipiscing arcu aenean
tellus, quiz turpis mauris elit dolor et at.
Ut erat non quam eligendi cubilia libero.
Mizuno
but perhaps there is
too much focus on
specific topics
and not enough on
what makes software
engineering unique
@retrosquares via Twenty20
4
Software engineering is about…
Step 02 Step 04
“multi-person multi-version development” (Randell) [Par11]
Specification
Design
Implementation
Testing
5
Tensorflow
via
gource.io
https://www.youtube.com/watch?v=t5LiGMAR9Ag
gbolcer (Creative Commons Attribution 4.0 International)
Multi-person, multi-version…
6
Are software engineering researchers
investigating 

multi-person multi-version development?
7
Is software engineering research
addressing 

software engineering problems?
Opportunities to investigate
MULTI-PERSON
MULTI-VERSION
development
@gail_murphy
to improve
SOFTWARE ECOSYSTEMS
And SOFTWARE PROJECTS
8
let’s begin
Is software engineering research addressing software
engineering problems?
What problems
are being
addressed?
Multi-version,

multi-person:
Project
What’s missing?
1 2
34
Multi-version,

multi-person:
Ecosystem
Is software engineering research addressing software
engineering problems?
What problems
are being
addressed? 1 2
34
What’s missing?
Multi-version,

multi-person:
Ecosystem
Multi-version,

multi-person:
Project
Animation Sequence: Please see posted video
Literature analysis for
multi-person, multi-version
attributes
ASE 95
ESEC/FSE 72
ICSE 109
Papers from 2019 considered
in analysis [Mur20]
13
YOUR NAME
multi-
person
multi-
version
both
0
0
0
1
none 0
14
YOUR NAME
multi-
person
multi-
version
both
1
0
0
1
none 0
15
YOUR NAME
multi-
person
multi-
version
both
1
1
01
none 0
16
none
multi-person
multi-version
both
Lots of opportunity
to investigate
multi-person,
multi-version
software development
17
Analysis of 276
research papers from
2019 conferences
Is software engineering research addressing software
engineering problems?
What problems
are being
addressed? 1
Software engineering researchers
tend to focus on a narrow set of
topics
n
multi
multi-
b
Multi-person, multi-version
dimensions appear to
be understudied
Is software engineering research addressing software
engineering problems?
What problems
are being
addressed?
Multi-version,

multi-person:
Ecosystem1 2
34
What’s missing?
Multi-version,

multi-person:
Project
multi-person multi-version
What information is exchanged? When? Why?
How should teams be organized?
What are optimal forms of communication?
20
multi-person multi-version
Which clients will be impacted by a version upgrade?
Is there an ideal component size?
Can version differences optimize analyses?
21
multi-person multi-version
Which clients will be impacted by a version upgrade?
e.g., [SR08, HDG18]
Is there an ideal component size?
e.g., [MC+04, BP84]
Can version differences optimize analyses?
e.g., [SW03, KR11]
What information is exchanged? When? Why?
e.g., [KDV07, BP+10]
How should teams be organized?
e.g., [BN+09, Mockus10]
What are optimal forms of communication?
e.g., [GPS04, TS10]
22
multi-person multi-version&
Is there an optimal length for software supply chains?
What factors lead teams to develop high-quality components?
What overhead might exist when using a component?
23
1
studying
trends
2 examples
24
1
Number of releases in public repositories
increased from 16.6 million to 28.4 million
On average, developers had access to more
than 21,488 releases every day
Image and data courtesy of Sonatype and partners
Multi-version software is a reality
25
1
Image and data courtesy of Sonatype and partners
Studying multi-version components
26
1
Image (modified) and data courtesy of Sonatype and partners
Time to update (TTU)
27
1 Ask questions about multi-version
multi-person development
Do components with more active developers correlate with faster mean time to update?
The top 20% of teams by size (11 or more developers contributing per month)
have 50% faster mean time to update and release 2.6 times more frequently.
Do components with higher release frequency and higher monthly commits correlate
with faster mean time to update?
The top 20% of teams by commits per month had 26% faster mean time
to update and 83% faster release frequency.
28
multi-person multi-version&
Is there an optimal length for software supply chains?
What factors lead teams to develop high-quality components?
What overhead might exist when using a component?
29
What factors lead teams to develop high-quality components?
1
30
2
When
How
Why
of social
interactions}
Technical dependence
Social link
Selendroid
Netty Aalto XML
OkHttp
769 pairs of Maven projects
4,364 pairs of RubyGems projects
Dataset
31
[PMM17]
When?
Social interactions
Ratioofusercomponentprojectswith
socialinteractions
Number of user component projects
Components that often have
social interactions (21% of
analyzed Maven projects)
Components that sometimes
have social interactions (15% of
analyzed Maven projects)
Vault
Components that rarely have
social interactions (64% of
analyzed Maven projects)
JUnit
The more popular a component, the
less likely it is that developers of a user
project will get involved
32
2
Social interactions
introduction of technical dependence
Icons represent different social interactions
(e.g., triangles are issues, etc.)
Dark icons are from dependent project
Light icons are from user project
How?
33
2
Social interactions
How?
In 46% of Maven projects, technical
dependency precedes social interactions
No strong trend of whether
social interactions precede
or succeed technical
dependency. But when
precede, indications
community between user
and component project is
stronger.
34
2
Why?
Social interactions
Sample Codes Maven RubyGems
e.g., Forward report problem (issue / comment) 26% 14%
e.g., Forward feature request (issue / comment) 20% 8%
e.g., Backward help solve issue (comment / pull-
request)
10% 0%
e.g., Backward propose to use component (pull-request) 0% 4%
Qualitative analysis of 50 pairs from each community
Social interacmons are frequently
inimated for issues or feature
requests.
Surprisingly, we found that some
social interactions are initiated by
developers of the component
projects.
What overhead might exist when using a component?
35
2
Is software engineering research addressing software
engineering problems?
Multi-version,

multi-person:
Ecosystem2
Ecosystem analysis can help
identify trends that can characterize
properties of software
e.g., how fast component dependencies
might be updated
e.g., how much interaction may be
needed with a dependent project
Is software engineering research addressing software
engineering problems?
What problems
are being
addressed?
Multi-version,

multi-person:
Ecosystem1 2
34
What’s missing?
Multi-version,

multi-person:
Project
Multi-person, multi-version development: Project
Ecosystem analysis provides interesting insights, even for single projects.
Single project analysis is needed to help individual projects.
38
Multi-person, multi-version development: Project
Is our development process efficient?
Where is most time spent when developing a feature?
39
Moodle is an open-source
learning platform
Let’s consider feature
request MDL-68320
40
Lifecycle of MDL-68320
Apr 2, Issue created for feature request
SB
Apr 8, Changes to issue
SB
Apr 14, Changes to issue
AN
M
ay 21, Pull
SL
M
ay 21, Testing instructions
SL
M
ay 21, CIBot
SL
June 3, Integration review
SA
> 60 events based on issue and git logs
~10 different individuals involved
2 months and 6 days open to close of issue
41
Animation Sequence: Please see posted video
Project-level questions
Is our development process efficient?
Where is most time spent when developing a feature?
Spec
Design
Imp
Test
CI
[sb, 2 min]
[sb, 5 min]
… [sb, 10 min]
[br, 30 min]
…
[an, 31 min]
[sl, 43 min]
…
[sl, 55 min]
…
Apr 2
Jun 8
42
Value
Stream Maps
Lean management method to
opmmize taking a product or
service from beginning through
to the customer
hrp://courses.washington.edu/ie337/Value_Stream_Mapping.pdf
44
Value Stream Maps in SE
Poppendieck &
Poppendieck
45
Value Stream Maps in SE
Need to capture informamon flow
Need to analyze and visualize
Need to connect real data
FLOW-assisted value stream mapping in the early phases
of software development, JSS, 2016
Poppendieck &
Poppendieck
46
surviving the
“Turning Point of the
Age of Software”
F L O W F R A M E W O R K
- M. Kersten
Focus on end-to-end sovware value stream
flows to enable correlamon
to business outcomes
47
© Tasktop Technologies, Inc. 2017-2018. All rights reserved.
Integramon Model
Acmvity Model
Product Model
End-to-end metrics
& business outcomes
F L O W F R A M E W O R K
Flow Metrics
Flow Velocity
Flow Efficiency
Flow Time
Flow Load
© Tasktop Technologies, Inc. 2017-2018. All rights reserved.
© Tasktop Technologies, Inc. 2017-2018. All rights reserved.
Value
Stream
#1
Value
Stream
#2
Distribution of
kinds of work
e.g., Flow velocity
50
Is software engineering research addressing software
engineering problems?
3 Multi-version,

multi-person:
Project
Identifying, analyzing and managing value streams of development can
provide insights into development process
Is software engineering research addressing software
engineering problems?
What problems
are being
addressed?
Multi-version,

multi-person:
Ecosystem1 2
34
What’s
missing?
Multi-version,

multi-person:
Project
Proprietary
software
development
Open
software
development
54
Proprietary development often has more development
process information
55
Proprietary development often has more development
process information
56
57
Can we distinguish which information is
addressing different development stages?
e.g., represent design [VF+2019]
58
Connecting breadcrumbs
Where can automation help developers
and leave breadcrumbs about the
development process?
e.g., git hooks that take a branch named
after an issue and add link to issue
in commit message
e.g., a bot that recognizes a question
in Slack is a request for information
about design of a feature request and
tracks who developer is waiting on
and for how long
59
Factors for tools to enable development flow

identification and tracking
netus nibh aliquet, porttitor ligula justo
libero vivamus porttitor dolor, conubia
mollit. Sapien nam suspendisse,
tincidunt eget ante tincidunt, eros in
auctor fringilla praesent at diam
netus nibh aliquet, porttitor ligula justo
libero vivamus porttitor dolor, conubia
mollit. Sapien nam suspendisse,
tincidunt eget ante tincidunt, eros in
auctor fringilla praesent at diam
netus nibh aliquet, porttitor ligula justo
libero vivamus porttitor dolor, conubia
mollit. Sapien nam suspendisse,
tincidunt eget ante tincidunt, eros in
auctor fringilla praesent at diam
connecting
60
@dantes1401 via Twenty20
Is software engineering research addressing software
engineering problems?
4
What’s
missing?
Open source projects tend to lack
Information and links needed to
track development flow
Automation could help
track and connect flow
Information and benefit
developers
To the many undergraduate and graduate
students, post-docs, and colleagues who have
contributed to how I think about software
engineering and research
Thanks
To Mik Kersten and my colleagues at Tasktop
for the many great discussions, collaborations
and insights
To the organizers of ASE 2020 for the kind
invitation to present this talk
Is software engineering research addressing software
engineering problems?
What problems
are being
addressed?
Multi-version,

multi-person:
Ecosystem1 2
34
What’s missing?
Multi-version,

multi-person:
Project
Is software engineering research addressing software
engineering problems?
1
Lack of study
of multi-person
multi-version
development
1 2
34
Is software engineering research addressing software
engineering problems?
1
Lack of study
of multi-person
multi-version
development
Ecosystem
analysis
helps identify
trends
1 2
34
Is software engineering research addressing software
engineering problems?
1
Lack of study
of multi-person
multi-version
development
Ecosystem
analysis
helps identify
trends
New
opportunities
for project
analysis
1 2
34
Is software engineering research addressing software
engineering problems?
1
Lack of study
of multi-person
multi-version
development
Ecosystem
analysis
helps identify
trends
New
opportunities
for project
analysis
Opportunities to
enhance open
source to support
analysis
1 2
34
Is software engineering research
addressing 

software engineering problems?
Opportunities to investigate
MULTI-PERSON
MULTI-VERSION
development
@gail_murphy
to improve
SOFTWARE ECOSYSTEMS
And SOFTWARE PROJECTS
REFERENCES
1 of 3
2 of 3
3 of 3
Is software engineering research addressing software engineering problems?

Is software engineering research addressing software engineering problems?

  • 1.
    Is 
 software engineeringresearch addressing 
 software engineering problems? Gail C. Murphy University of British Columbia @gail_murphy
  • 2.
    Is 
 software engineeringresearch addressing 
 software engineering problems? Gail C. Murphy University of British Columbia @gail_murphy
  • 3.
  • 4.
    Engineering software requires… Specification Design Implementation Testing andsoftware engineering researchers work on these topics 3
  • 5.
    Your Full TitleHere PUT A TEXT DOLOR SIT AMET, FULL SCREEN TITLE HERES Eget provident et, enim ex erat massa vitae luctus et, ultricies sit praesent commodo felis ac purus. Sociosqu nec, montes maecenas elit, convallis magna elit habitant at, adipiscing arcu aenean tellus, quiz turpis mauris elit dolor et at. Ut erat non quam eligendi cubilia libero. Mizuno but perhaps there is too much focus on specific topics and not enough on what makes software engineering unique @retrosquares via Twenty20 4
  • 6.
    Software engineering isabout… Step 02 Step 04 “multi-person multi-version development” (Randell) [Par11] Specification Design Implementation Testing 5
  • 7.
    Tensorflow via gource.io https://www.youtube.com/watch?v=t5LiGMAR9Ag gbolcer (Creative CommonsAttribution 4.0 International) Multi-person, multi-version… 6
  • 8.
    Are software engineeringresearchers investigating 
 multi-person multi-version development? 7
  • 9.
    Is software engineeringresearch addressing 
 software engineering problems? Opportunities to investigate MULTI-PERSON MULTI-VERSION development @gail_murphy to improve SOFTWARE ECOSYSTEMS And SOFTWARE PROJECTS 8
  • 10.
  • 11.
    Is software engineeringresearch addressing software engineering problems? What problems are being addressed? Multi-version,
 multi-person: Project What’s missing? 1 2 34 Multi-version,
 multi-person: Ecosystem
  • 12.
    Is software engineeringresearch addressing software engineering problems? What problems are being addressed? 1 2 34 What’s missing? Multi-version,
 multi-person: Ecosystem Multi-version,
 multi-person: Project
  • 13.
  • 14.
    Literature analysis for multi-person,multi-version attributes ASE 95 ESEC/FSE 72 ICSE 109 Papers from 2019 considered in analysis [Mur20] 13
  • 15.
  • 16.
  • 17.
  • 18.
    none multi-person multi-version both Lots of opportunity toinvestigate multi-person, multi-version software development 17 Analysis of 276 research papers from 2019 conferences
  • 19.
    Is software engineeringresearch addressing software engineering problems? What problems are being addressed? 1 Software engineering researchers tend to focus on a narrow set of topics n multi multi- b Multi-person, multi-version dimensions appear to be understudied
  • 20.
    Is software engineeringresearch addressing software engineering problems? What problems are being addressed? Multi-version,
 multi-person: Ecosystem1 2 34 What’s missing? Multi-version,
 multi-person: Project
  • 21.
    multi-person multi-version What informationis exchanged? When? Why? How should teams be organized? What are optimal forms of communication? 20
  • 22.
    multi-person multi-version Which clientswill be impacted by a version upgrade? Is there an ideal component size? Can version differences optimize analyses? 21
  • 23.
    multi-person multi-version Which clientswill be impacted by a version upgrade? e.g., [SR08, HDG18] Is there an ideal component size? e.g., [MC+04, BP84] Can version differences optimize analyses? e.g., [SW03, KR11] What information is exchanged? When? Why? e.g., [KDV07, BP+10] How should teams be organized? e.g., [BN+09, Mockus10] What are optimal forms of communication? e.g., [GPS04, TS10] 22
  • 24.
    multi-person multi-version& Is therean optimal length for software supply chains? What factors lead teams to develop high-quality components? What overhead might exist when using a component? 23
  • 25.
  • 26.
    1 Number of releasesin public repositories increased from 16.6 million to 28.4 million On average, developers had access to more than 21,488 releases every day Image and data courtesy of Sonatype and partners Multi-version software is a reality 25
  • 27.
    1 Image and datacourtesy of Sonatype and partners Studying multi-version components 26
  • 28.
    1 Image (modified) anddata courtesy of Sonatype and partners Time to update (TTU) 27
  • 29.
    1 Ask questionsabout multi-version multi-person development Do components with more active developers correlate with faster mean time to update? The top 20% of teams by size (11 or more developers contributing per month) have 50% faster mean time to update and release 2.6 times more frequently. Do components with higher release frequency and higher monthly commits correlate with faster mean time to update? The top 20% of teams by commits per month had 26% faster mean time to update and 83% faster release frequency. 28
  • 30.
    multi-person multi-version& Is therean optimal length for software supply chains? What factors lead teams to develop high-quality components? What overhead might exist when using a component? 29
  • 31.
    What factors leadteams to develop high-quality components? 1 30
  • 32.
    2 When How Why of social interactions} Technical dependence Sociallink Selendroid Netty Aalto XML OkHttp 769 pairs of Maven projects 4,364 pairs of RubyGems projects Dataset 31 [PMM17]
  • 33.
    When? Social interactions Ratioofusercomponentprojectswith socialinteractions Number ofuser component projects Components that often have social interactions (21% of analyzed Maven projects) Components that sometimes have social interactions (15% of analyzed Maven projects) Vault Components that rarely have social interactions (64% of analyzed Maven projects) JUnit The more popular a component, the less likely it is that developers of a user project will get involved 32 2
  • 34.
    Social interactions introduction oftechnical dependence Icons represent different social interactions (e.g., triangles are issues, etc.) Dark icons are from dependent project Light icons are from user project How? 33 2
  • 35.
    Social interactions How? In 46%of Maven projects, technical dependency precedes social interactions No strong trend of whether social interactions precede or succeed technical dependency. But when precede, indications community between user and component project is stronger. 34 2
  • 36.
    Why? Social interactions Sample CodesMaven RubyGems e.g., Forward report problem (issue / comment) 26% 14% e.g., Forward feature request (issue / comment) 20% 8% e.g., Backward help solve issue (comment / pull- request) 10% 0% e.g., Backward propose to use component (pull-request) 0% 4% Qualitative analysis of 50 pairs from each community Social interacmons are frequently inimated for issues or feature requests. Surprisingly, we found that some social interactions are initiated by developers of the component projects. What overhead might exist when using a component? 35 2
  • 37.
    Is software engineeringresearch addressing software engineering problems? Multi-version,
 multi-person: Ecosystem2 Ecosystem analysis can help identify trends that can characterize properties of software e.g., how fast component dependencies might be updated e.g., how much interaction may be needed with a dependent project
  • 38.
    Is software engineeringresearch addressing software engineering problems? What problems are being addressed? Multi-version,
 multi-person: Ecosystem1 2 34 What’s missing? Multi-version,
 multi-person: Project
  • 39.
    Multi-person, multi-version development:Project Ecosystem analysis provides interesting insights, even for single projects. Single project analysis is needed to help individual projects. 38
  • 40.
    Multi-person, multi-version development:Project Is our development process efficient? Where is most time spent when developing a feature? 39
  • 41.
    Moodle is anopen-source learning platform Let’s consider feature request MDL-68320 40
  • 42.
    Lifecycle of MDL-68320 Apr2, Issue created for feature request SB Apr 8, Changes to issue SB Apr 14, Changes to issue AN M ay 21, Pull SL M ay 21, Testing instructions SL M ay 21, CIBot SL June 3, Integration review SA > 60 events based on issue and git logs ~10 different individuals involved 2 months and 6 days open to close of issue 41
  • 43.
  • 44.
    Project-level questions Is ourdevelopment process efficient? Where is most time spent when developing a feature? Spec Design Imp Test CI [sb, 2 min] [sb, 5 min] … [sb, 10 min] [br, 30 min] … [an, 31 min] [sl, 43 min] … [sl, 55 min] … Apr 2 Jun 8 42
  • 46.
    Value Stream Maps Lean managementmethod to opmmize taking a product or service from beginning through to the customer hrp://courses.washington.edu/ie337/Value_Stream_Mapping.pdf 44
  • 47.
    Value Stream Mapsin SE Poppendieck & Poppendieck 45
  • 48.
    Value Stream Mapsin SE Need to capture informamon flow Need to analyze and visualize Need to connect real data FLOW-assisted value stream mapping in the early phases of software development, JSS, 2016 Poppendieck & Poppendieck 46
  • 49.
    surviving the “Turning Pointof the Age of Software” F L O W F R A M E W O R K - M. Kersten Focus on end-to-end sovware value stream flows to enable correlamon to business outcomes 47
  • 50.
    © Tasktop Technologies,Inc. 2017-2018. All rights reserved. Integramon Model Acmvity Model Product Model End-to-end metrics & business outcomes F L O W F R A M E W O R K Flow Metrics Flow Velocity Flow Efficiency Flow Time Flow Load
  • 51.
    © Tasktop Technologies,Inc. 2017-2018. All rights reserved.
  • 52.
    © Tasktop Technologies,Inc. 2017-2018. All rights reserved. Value Stream #1 Value Stream #2 Distribution of kinds of work e.g., Flow velocity 50
  • 53.
    Is software engineeringresearch addressing software engineering problems? 3 Multi-version,
 multi-person: Project Identifying, analyzing and managing value streams of development can provide insights into development process
  • 54.
    Is software engineeringresearch addressing software engineering problems? What problems are being addressed? Multi-version,
 multi-person: Ecosystem1 2 34 What’s missing? Multi-version,
 multi-person: Project
  • 56.
  • 57.
    Proprietary development oftenhas more development process information 55
  • 58.
    Proprietary development oftenhas more development process information 56
  • 59.
  • 60.
    Can we distinguishwhich information is addressing different development stages? e.g., represent design [VF+2019] 58
  • 61.
    Connecting breadcrumbs Where canautomation help developers and leave breadcrumbs about the development process? e.g., git hooks that take a branch named after an issue and add link to issue in commit message e.g., a bot that recognizes a question in Slack is a request for information about design of a feature request and tracks who developer is waiting on and for how long 59
  • 62.
    Factors for toolsto enable development flow
 identification and tracking netus nibh aliquet, porttitor ligula justo libero vivamus porttitor dolor, conubia mollit. Sapien nam suspendisse, tincidunt eget ante tincidunt, eros in auctor fringilla praesent at diam netus nibh aliquet, porttitor ligula justo libero vivamus porttitor dolor, conubia mollit. Sapien nam suspendisse, tincidunt eget ante tincidunt, eros in auctor fringilla praesent at diam netus nibh aliquet, porttitor ligula justo libero vivamus porttitor dolor, conubia mollit. Sapien nam suspendisse, tincidunt eget ante tincidunt, eros in auctor fringilla praesent at diam connecting 60 @dantes1401 via Twenty20
  • 63.
    Is software engineeringresearch addressing software engineering problems? 4 What’s missing? Open source projects tend to lack Information and links needed to track development flow Automation could help track and connect flow Information and benefit developers
  • 64.
    To the manyundergraduate and graduate students, post-docs, and colleagues who have contributed to how I think about software engineering and research Thanks To Mik Kersten and my colleagues at Tasktop for the many great discussions, collaborations and insights To the organizers of ASE 2020 for the kind invitation to present this talk
  • 65.
    Is software engineeringresearch addressing software engineering problems? What problems are being addressed? Multi-version,
 multi-person: Ecosystem1 2 34 What’s missing? Multi-version,
 multi-person: Project
  • 66.
    Is software engineeringresearch addressing software engineering problems? 1 Lack of study of multi-person multi-version development 1 2 34
  • 67.
    Is software engineeringresearch addressing software engineering problems? 1 Lack of study of multi-person multi-version development Ecosystem analysis helps identify trends 1 2 34
  • 68.
    Is software engineeringresearch addressing software engineering problems? 1 Lack of study of multi-person multi-version development Ecosystem analysis helps identify trends New opportunities for project analysis 1 2 34
  • 69.
    Is software engineeringresearch addressing software engineering problems? 1 Lack of study of multi-person multi-version development Ecosystem analysis helps identify trends New opportunities for project analysis Opportunities to enhance open source to support analysis 1 2 34
  • 70.
    Is software engineeringresearch addressing 
 software engineering problems? Opportunities to investigate MULTI-PERSON MULTI-VERSION development @gail_murphy to improve SOFTWARE ECOSYSTEMS And SOFTWARE PROJECTS
  • 71.
  • 72.
  • 73.