+ All Categories
Transcript
Page 1: Invited Talk MESOCA 2014: Evolving software systems: emerging trends and challenges

Software Evolution anno 2014:directions and challenges

Alexander Serebrenik

@aserebrenik

[email protected]

Page 2: Invited Talk MESOCA 2014: Evolving software systems: emerging trends and challenges
Page 3: Invited Talk MESOCA 2014: Evolving software systems: emerging trends and challenges

2008

Page 4: Invited Talk MESOCA 2014: Evolving software systems: emerging trends and challenges

Time for a new book!

Page 5: Invited Talk MESOCA 2014: Evolving software systems: emerging trends and challenges
Page 6: Invited Talk MESOCA 2014: Evolving software systems: emerging trends and challenges

2014

Page 7: Invited Talk MESOCA 2014: Evolving software systems: emerging trends and challenges

2008 vs. 2014

From systems to ecosystems

Page 8: Invited Talk MESOCA 2014: Evolving software systems: emerging trends and challenges

Business-oriented view

“a set of actors functioning as a unit and interacting with a shared market for software and services, together with the relationships among them.”

with thanks to International Data Corporation (IDC)

Page 9: Invited Talk MESOCA 2014: Evolving software systems: emerging trends and challenges

Development-centric view

a collection of software projects that are developed and evolve together in the same environment

with thanks to Bram Adams

Page 10: Invited Talk MESOCA 2014: Evolving software systems: emerging trends and challenges

Socio-technical viewa community of persons (end-users, developers, debuggers, …) contributing to a collection of projects

Page 11: Invited Talk MESOCA 2014: Evolving software systems: emerging trends and challenges

Technical

Scientific

Practical

Legal and ethical

Page 12: Invited Talk MESOCA 2014: Evolving software systems: emerging trends and challenges

Technical challenges

Page 13: Invited Talk MESOCA 2014: Evolving software systems: emerging trends and challenges

• eliminate non-names• eliminate specific quirks• group “similar” names

– first/last name – textual similarity– latent semantic analysis

• (correct groups manually)

Technical challenges

Page 14: Invited Talk MESOCA 2014: Evolving software systems: emerging trends and challenges

Technical challenges

• eliminate non-names• eliminate specific quirks• group “similar” names

– first/last name – textual similarity– latent semantic analysis

• (correct groups manually)

Page 15: Invited Talk MESOCA 2014: Evolving software systems: emerging trends and challenges

Technical challenges

Structured data2008

Unstructured data2014

Page 16: Invited Talk MESOCA 2014: Evolving software systems: emerging trends and challenges

Technical challenges

Structured data2008

Unstructured data2014

Page 17: Invited Talk MESOCA 2014: Evolving software systems: emerging trends and challenges

Scientific challenges

Page 18: Invited Talk MESOCA 2014: Evolving software systems: emerging trends and challenges

Scientific challenges

Raw dataProcessed data set

Tools & scripts

#MSR papers 2004-2009

Y Y Y 2Y Y N 2Y P Y 1Y P P 2Y P N 2Y N Y 16Y N P 19Y N N 64P N Y 1P N N 2N Y N 2N P N 1N N Y 7N N P 2N N N 31N/A N/A N/A 17

We share raw data but rarely share tools – reinventing the wheel anybody?

Page 19: Invited Talk MESOCA 2014: Evolving software systems: emerging trends and challenges

Practical challenges

• How can we share our big data with other researchers?• Different formats, different tools, storage

problems, …• How can we make our research results useful

to practitioners and development communities?

• How can we build tools and dashboards that integrate our findings?

Page 20: Invited Talk MESOCA 2014: Evolving software systems: emerging trends and challenges

Legal and ethical challenges

(especially for survey data)

http://www.intracto.com/blog/online-privacy-belangrijk

Page 21: Invited Talk MESOCA 2014: Evolving software systems: emerging trends and challenges

k-anonymity

Page 22: Invited Talk MESOCA 2014: Evolving software systems: emerging trends and challenges

k-anonymity

l-diversityt-closeness

Page 23: Invited Talk MESOCA 2014: Evolving software systems: emerging trends and challenges

2008 vs. 2014

From “traditional” to “non-traditional” artifacts:

What is software?

Page 24: Invited Talk MESOCA 2014: Evolving software systems: emerging trends and challenges

http://ctms.engin.umich.edu/CTMS/index.php?example=Introduction&section=SimulinkModeling

Maintainability???Evolution???

Page 25: Invited Talk MESOCA 2014: Evolving software systems: emerging trends and challenges

BumbleBee: a refactoring tool for spreadsheets

with thanks to Felienne Hermans

Page 26: Invited Talk MESOCA 2014: Evolving software systems: emerging trends and challenges

http://help.eclipse.org/juno/index.jsp?topic=%2Forg.eclipse.m2m.atl.doc%2Fguide%2Fconcepts%2FModel-Transformation.html

Page 27: Invited Talk MESOCA 2014: Evolving software systems: emerging trends and challenges

http://help.eclipse.org/juno/index.jsp?topic=%2Forg.eclipse.m2m.atl.doc%2Fguide%2Fconcepts%2FModel-Transformation.html

• describe evolutionary steps • relate to changes of other

artifacts• describe prevalence in

practice • support automation

Page 28: Invited Talk MESOCA 2014: Evolving software systems: emerging trends and challenges

New kind of verification

artifacts

2008

2009

2012

2013

Page 29: Invited Talk MESOCA 2014: Evolving software systems: emerging trends and challenges

2008 vs. 2014

From technical to socio-technical perspective:

Who are these people?

What do they do?

Page 30: Invited Talk MESOCA 2014: Evolving software systems: emerging trends and challenges

> 90% in WordPress & Drupal> 95% in FLOSS surveys> 87% in GNOME> 70% in software-related jobs (NSF)

MEN

Page 31: Invited Talk MESOCA 2014: Evolving software systems: emerging trends and challenges
Page 32: Invited Talk MESOCA 2014: Evolving software systems: emerging trends and challenges

FLOSS 2013

Europe,US,CA,AUBrazil/Argentina

Page 33: Invited Talk MESOCA 2014: Evolving software systems: emerging trends and challenges

How can we reliably and efficiently identify gender, age, location?

Technical challenges

Page 34: Invited Talk MESOCA 2014: Evolving software systems: emerging trends and challenges
Page 35: Invited Talk MESOCA 2014: Evolving software systems: emerging trends and challenges

?

Page 36: Invited Talk MESOCA 2014: Evolving software systems: emerging trends and challenges
Page 37: Invited Talk MESOCA 2014: Evolving software systems: emerging trends and challenges

Name + Location = Gender

Page 38: Invited Talk MESOCA 2014: Evolving software systems: emerging trends and challenges

Lonzo Alonzo ⇒

w35l3y wesley ⇒

Name + Location = Gender

Page 39: Invited Talk MESOCA 2014: Evolving software systems: emerging trends and challenges

<title>Ben Kamens</title>…<h1>We&#8217;re willing to be embarrassed about what we <em>haven&#8217;t</em> done&#8230;</h1>

Heuristics: title + first h1

Ben Kamens We’re willing to be embarrassed about what we haven’t done…

<PERSON>Ben Kamens</PERSON> We’re willing to be embarrassed about what we haven’t done…

Stanford Named Entity Tagger

Page 40: Invited Talk MESOCA 2014: Evolving software systems: emerging trends and challenges

Quality of gender resolution: SurveySelf-identification

As inferred TotalM F ?

M 60 3 43 106F 2 5 4 11

Self-identification

As inferred TotalM F ?

M 90 3 13 106F 2 9 0 11

+ avatars, other social media sites (manually)

Page 41: Invited Talk MESOCA 2014: Evolving software systems: emerging trends and challenges
Page 42: Invited Talk MESOCA 2014: Evolving software systems: emerging trends and challenges

PAGE 4212-04-2023

.cpp .po

.jpg

/test/

/library/ .doc

makefile .sql .conf

Page 43: Invited Talk MESOCA 2014: Evolving software systems: emerging trends and challenges

Occasional contributors

Frequent contributors

Page 44: Invited Talk MESOCA 2014: Evolving software systems: emerging trends and challenges

How can we reliably and efficiently identify human activities?

Technical challenges

Page 45: Invited Talk MESOCA 2014: Evolving software systems: emerging trends and challenges

How can we reliably and efficiently identify human activities?

Technical challenges

Page 46: Invited Talk MESOCA 2014: Evolving software systems: emerging trends and challenges

Top Related