SlideShare ist ein Scribd-Unternehmen logo
1 von 74
Downloaden Sie, um offline zu lesen
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?

Weitere ähnliche Inhalte

Was ist angesagt?

e-Business - SE trends
e-Business - SE trendse-Business - SE trends
e-Business - SE trends
Vladimir Kotov
 
Extreme programming
Extreme programmingExtreme programming
Extreme programming
tuanvu8292
 
A Study of the Quality-Impacting Practices of Modern Code Review at Sony Mobile
A Study of the Quality-Impacting Practices of Modern Code Review at Sony MobileA Study of the Quality-Impacting Practices of Modern Code Review at Sony Mobile
A Study of the Quality-Impacting Practices of Modern Code Review at Sony Mobile
SAIL_QU
 
Chapter 2 software_development_life_cycle_models
Chapter 2 software_development_life_cycle_modelsChapter 2 software_development_life_cycle_models
Chapter 2 software_development_life_cycle_models
Piyush Gogia
 
Integrated Analysis of Traditional Requirements Engineering Process with Agil...
Integrated Analysis of Traditional Requirements Engineering Process with Agil...Integrated Analysis of Traditional Requirements Engineering Process with Agil...
Integrated Analysis of Traditional Requirements Engineering Process with Agil...
zillesubhan
 
Chapter 4 software project planning
Chapter 4 software project planningChapter 4 software project planning
Chapter 4 software project planning
Piyush Gogia
 
Chapter 1 introduction
Chapter 1 introductionChapter 1 introduction
Chapter 1 introduction
Piyush Gogia
 
Chapter 10 software certification
Chapter 10 software certificationChapter 10 software certification
Chapter 10 software certification
Piyush Gogia
 
Slides chapter 1
Slides chapter 1Slides chapter 1
Slides chapter 1
gvkmku
 

Was ist angesagt? (20)

e-Business - SE trends
e-Business - SE trendse-Business - SE trends
e-Business - SE trends
 
Pm soln9416141129710
Pm soln9416141129710Pm soln9416141129710
Pm soln9416141129710
 
Extreme programming
Extreme programmingExtreme programming
Extreme programming
 
Lecture1422914635
Lecture1422914635Lecture1422914635
Lecture1422914635
 
OO Development 2 - Software Development Methodologies
OO Development 2 - Software Development MethodologiesOO Development 2 - Software Development Methodologies
OO Development 2 - Software Development Methodologies
 
A Study of the Quality-Impacting Practices of Modern Code Review at Sony Mobile
A Study of the Quality-Impacting Practices of Modern Code Review at Sony MobileA Study of the Quality-Impacting Practices of Modern Code Review at Sony Mobile
A Study of the Quality-Impacting Practices of Modern Code Review at Sony Mobile
 
Ch01
Ch01Ch01
Ch01
 
Chapter 2 software_development_life_cycle_models
Chapter 2 software_development_life_cycle_modelsChapter 2 software_development_life_cycle_models
Chapter 2 software_development_life_cycle_models
 
Software Engineering Past Papers Notes
Software Engineering Past Papers Notes Software Engineering Past Papers Notes
Software Engineering Past Papers Notes
 
Agile programming
Agile programmingAgile programming
Agile programming
 
International Journal of Business and Management Invention (IJBMI)
International Journal of Business and Management Invention (IJBMI)International Journal of Business and Management Invention (IJBMI)
International Journal of Business and Management Invention (IJBMI)
 
Integrated Analysis of Traditional Requirements Engineering Process with Agil...
Integrated Analysis of Traditional Requirements Engineering Process with Agil...Integrated Analysis of Traditional Requirements Engineering Process with Agil...
Integrated Analysis of Traditional Requirements Engineering Process with Agil...
 
Software Engineering- Engineering Practice
Software Engineering- Engineering PracticeSoftware Engineering- Engineering Practice
Software Engineering- Engineering Practice
 
Chapter 4 software project planning
Chapter 4 software project planningChapter 4 software project planning
Chapter 4 software project planning
 
Defect Prediction: Accomplishments and Future Challenges
Defect Prediction: Accomplishments and Future ChallengesDefect Prediction: Accomplishments and Future Challenges
Defect Prediction: Accomplishments and Future Challenges
 
Chapter 1 introduction
Chapter 1 introductionChapter 1 introduction
Chapter 1 introduction
 
Chapter 10 software certification
Chapter 10 software certificationChapter 10 software certification
Chapter 10 software certification
 
Slides chapter 1
Slides chapter 1Slides chapter 1
Slides chapter 1
 
An Introduction to Agile Software Development
An Introduction to Agile Software DevelopmentAn Introduction to Agile Software Development
An Introduction to Agile Software Development
 
Agile development
Agile developmentAgile development
Agile development
 

Ähnlich wie Is software engineering research addressing software engineering problems?

Managing Large-scale Multimedia Development Projects
Managing Large-scale Multimedia Development ProjectsManaging Large-scale Multimedia Development Projects
Managing Large-scale Multimedia Development Projects
Simon Price
 
Software For Software Development Life Cycle
Software For Software Development Life CycleSoftware For Software Development Life Cycle
Software For Software Development Life Cycle
Christina Padilla
 
Software Engineering Model Question Paper 5th sem (1) (1).pdf
Software Engineering Model Question Paper 5th sem (1) (1).pdfSoftware Engineering Model Question Paper 5th sem (1) (1).pdf
Software Engineering Model Question Paper 5th sem (1) (1).pdf
sweta836730
 
The Benefits Of Software Creation
The Benefits Of Software CreationThe Benefits Of Software Creation
The Benefits Of Software Creation
Jennifer Wood
 
Project_Proposal.docx - bbb-extensions.googlecode.com
Project_Proposal.docx - bbb-extensions.googlecode.comProject_Proposal.docx - bbb-extensions.googlecode.com
Project_Proposal.docx - bbb-extensions.googlecode.com
butest
 

Ähnlich wie Is software engineering research addressing software engineering problems? (20)

Managing Large-scale Multimedia Development Projects
Managing Large-scale Multimedia Development ProjectsManaging Large-scale Multimedia Development Projects
Managing Large-scale Multimedia Development Projects
 
Project Management (October - 2014) [CBSGS - Paper Solution] {Mumbai University}
Project Management (October - 2014) [CBSGS - Paper Solution] {Mumbai University}Project Management (October - 2014) [CBSGS - Paper Solution] {Mumbai University}
Project Management (October - 2014) [CBSGS - Paper Solution] {Mumbai University}
 
Software For Software Development Life Cycle
Software For Software Development Life CycleSoftware For Software Development Life Cycle
Software For Software Development Life Cycle
 
What's new in the latest source{d} releases!
What's new in the latest source{d} releases!What's new in the latest source{d} releases!
What's new in the latest source{d} releases!
 
The Cloudification Perspectives of Search-based Software Testing
The Cloudification Perspectives of Search-based Software TestingThe Cloudification Perspectives of Search-based Software Testing
The Cloudification Perspectives of Search-based Software Testing
 
State of microservices 2020 by tsh
State of microservices 2020 by tshState of microservices 2020 by tsh
State of microservices 2020 by tsh
 
Software Engineering Model Question Paper 5th sem (1) (1).pdf
Software Engineering Model Question Paper 5th sem (1) (1).pdfSoftware Engineering Model Question Paper 5th sem (1) (1).pdf
Software Engineering Model Question Paper 5th sem (1) (1).pdf
 
Unit 1.ppt
Unit 1.pptUnit 1.ppt
Unit 1.ppt
 
ICSME 2016 keynote: An ecosystemic and socio-technical view on software maint...
ICSME 2016 keynote: An ecosystemic and socio-technical view on software maint...ICSME 2016 keynote: An ecosystemic and socio-technical view on software maint...
ICSME 2016 keynote: An ecosystemic and socio-technical view on software maint...
 
Social Media Site User Management System Class 12th Informatics Practices Pyt...
Social Media Site User Management System Class 12th Informatics Practices Pyt...Social Media Site User Management System Class 12th Informatics Practices Pyt...
Social Media Site User Management System Class 12th Informatics Practices Pyt...
 
MassChallenge Time Machine for .NET
MassChallenge Time Machine for .NETMassChallenge Time Machine for .NET
MassChallenge Time Machine for .NET
 
The Benefits Of Software Creation
The Benefits Of Software CreationThe Benefits Of Software Creation
The Benefits Of Software Creation
 
Project_Proposal.docx - bbb-extensions.googlecode.com
Project_Proposal.docx - bbb-extensions.googlecode.comProject_Proposal.docx - bbb-extensions.googlecode.com
Project_Proposal.docx - bbb-extensions.googlecode.com
 
ICONIQ Analytics: The Modern Developer Technology Stack
ICONIQ Analytics: The Modern Developer Technology StackICONIQ Analytics: The Modern Developer Technology Stack
ICONIQ Analytics: The Modern Developer Technology Stack
 
se01.ppt
se01.pptse01.ppt
se01.ppt
 
Project Management (April - 2017) [CBSGS - Paper Solution] {Mumbai University}
Project Management (April - 2017) [CBSGS - Paper Solution] {Mumbai University}Project Management (April - 2017) [CBSGS - Paper Solution] {Mumbai University}
Project Management (April - 2017) [CBSGS - Paper Solution] {Mumbai University}
 
Case Study: Practical tools and strategies for tackling legacy practices and ...
Case Study: Practical tools and strategies for tackling legacy practices and ...Case Study: Practical tools and strategies for tackling legacy practices and ...
Case Study: Practical tools and strategies for tackling legacy practices and ...
 
SC6 Workshop 1: Big Data Europe platform requirements and draft architecture:...
SC6 Workshop 1: Big Data Europe platform requirements and draft architecture:...SC6 Workshop 1: Big Data Europe platform requirements and draft architecture:...
SC6 Workshop 1: Big Data Europe platform requirements and draft architecture:...
 
Msr2021 tutorial-di penta
Msr2021 tutorial-di pentaMsr2021 tutorial-di penta
Msr2021 tutorial-di penta
 
Software Engineering concept
Software Engineering concept Software Engineering concept
Software Engineering concept
 

Mehr von Gail Murphy

Mehr von Gail Murphy (11)

Architecting-Flow-in-SE.pdf
Architecting-Flow-in-SE.pdfArchitecting-Flow-in-SE.pdf
Architecting-Flow-in-SE.pdf
 
The Need for Context in Software Engineering
The Need for Context in Software EngineeringThe Need for Context in Software Engineering
The Need for Context in Software Engineering
 
Impactful SE Research: Some Do's and More Don'ts
Impactful SE Research: Some Do's and More Don'tsImpactful SE Research: Some Do's and More Don'ts
Impactful SE Research: Some Do's and More Don'ts
 
The Elusive Nature of Context: Why We Need It and Were We Might Find It
The Elusive Nature of Context: Why We Need It and Were We Might Find ItThe Elusive Nature of Context: Why We Need It and Were We Might Find It
The Elusive Nature of Context: Why We Need It and Were We Might Find It
 
Human-centric Software Development Tools
Human-centric Software Development ToolsHuman-centric Software Development Tools
Human-centric Software Development Tools
 
Is Continuous Adoption in Software Engineering Achievable and Desirable?
Is Continuous Adoption in Software Engineering Achievable and Desirable? Is Continuous Adoption in Software Engineering Achievable and Desirable?
Is Continuous Adoption in Software Engineering Achievable and Desirable?
 
Acm productivity-webinar-2016-slides
Acm productivity-webinar-2016-slidesAcm productivity-webinar-2016-slides
Acm productivity-webinar-2016-slides
 
Software Supply Chains
Software Supply ChainsSoftware Supply Chains
Software Supply Chains
 
Getting to Flow in Software Development (ASWEC 2014 Keynote)
Getting to Flow in Software Development (ASWEC 2014 Keynote)Getting to Flow in Software Development (ASWEC 2014 Keynote)
Getting to Flow in Software Development (ASWEC 2014 Keynote)
 
The Human Element
The Human ElementThe Human Element
The Human Element
 
What is Software Development Productivity Anyway?
What is Software Development Productivity Anyway?What is Software Development Productivity Anyway?
What is Software Development Productivity Anyway?
 

Kürzlich hochgeladen

%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
masabamasaba
 
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
masabamasaba
 
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
chiefasafspells
 
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
masabamasaba
 
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Medical / Health Care (+971588192166) Mifepristone and Misoprostol tablets 200mg
 
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Medical / Health Care (+971588192166) Mifepristone and Misoprostol tablets 200mg
 
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
masabamasaba
 

Kürzlich hochgeladen (20)

%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
 
%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
 
WSO2CON 2024 Slides - Open Source to SaaS
WSO2CON 2024 Slides - Open Source to SaaSWSO2CON 2024 Slides - Open Source to SaaS
WSO2CON 2024 Slides - Open Source to SaaS
 
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
 
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park %in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
 
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
 
Artyushina_Guest lecture_YorkU CS May 2024.pptx
Artyushina_Guest lecture_YorkU CS May 2024.pptxArtyushina_Guest lecture_YorkU CS May 2024.pptx
Artyushina_Guest lecture_YorkU CS May 2024.pptx
 
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open SourceWSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
 
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
 
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
 
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
 
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
 
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
 
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
 
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
 
WSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With SimplicityWSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
 

Is software engineering research addressing software engineering problems?

  • 1. Is 
 software engineering research addressing 
 software engineering problems? Gail C. Murphy University of British Columbia @gail_murphy
  • 2. Is 
 software engineering research addressing 
 software engineering problems? Gail C. Murphy University of British Columbia @gail_murphy
  • 4. Engineering software requires… Specification Design Implementation Testing and software engineering researchers work on these topics 3
  • 5. 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
  • 6. Software engineering is about… 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 Commons Attribution 4.0 International) Multi-person, multi-version… 6
  • 8. Are software engineering researchers investigating 
 multi-person multi-version development? 7
  • 9. 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
  • 11. 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
  • 12. 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
  • 13. Animation Sequence: Please see posted video
  • 14. Literature analysis for multi-person, multi-version attributes ASE 95 ESEC/FSE 72 ICSE 109 Papers from 2019 considered in analysis [Mur20] 13
  • 18. 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
  • 19. 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
  • 20. 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
  • 21. multi-person multi-version What information is exchanged? When? Why? How should teams be organized? What are optimal forms of communication? 20
  • 22. 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
  • 23. 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
  • 24. 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
  • 26. 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
  • 27. 1 Image and data courtesy of Sonatype and partners Studying multi-version components 26
  • 28. 1 Image (modified) and data courtesy of Sonatype and partners Time to update (TTU) 27
  • 29. 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
  • 30. 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
  • 31. What factors lead teams to develop high-quality components? 1 30
  • 32. 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]
  • 33. 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
  • 34. 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
  • 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 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
  • 37. 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
  • 38. 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
  • 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 an open-source learning platform Let’s consider feature request MDL-68320 40
  • 42. 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
  • 43. Animation Sequence: Please see posted video
  • 44. 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
  • 45.
  • 46. 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
  • 47. Value Stream Maps in SE Poppendieck & Poppendieck 45
  • 48. 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
  • 49. 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
  • 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 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
  • 54. 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
  • 55.
  • 57. Proprietary development often has more development process information 55
  • 58. Proprietary development often has more development process information 56
  • 59. 57
  • 60. Can we distinguish which information is addressing different development stages? e.g., represent design [VF+2019] 58
  • 61. 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
  • 62. 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
  • 63. 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
  • 64. 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
  • 65. 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
  • 66. Is software engineering research addressing software engineering problems? 1 Lack of study of multi-person multi-version development 1 2 34
  • 67. 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
  • 68. 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
  • 69. 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
  • 70. 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