Lies, Damned Lies and Software Analytics: Why Big Data Needs Rich Data

M
Margaret-Anne StoreyProfessor of Computer Science at University of Victoria
Lies, Damned Lies and Software Analytics:
Why Big Data Needs Thick Data
Margaret-Anne (Peggy) Storey
University of Victoria
@margaretstorey
Presented at UCI, Irvine, April 2016 and
ACM SIGSOFT Webinar, May 4th 2016
Acknowledgements:
Alexey Zagalsky, Daniel German,
Matthieu Foucault (Uvic)
Jacek Czerwonka, Brendan Murphy
(Microsoft Research)
http://www.slideshare.net/mastorey/lies-damned-lies-and-
software-analytics-why-big-data-needs-rich-data
@margaretstorey
My research…
Human and social aspects in software
engineering:
Software visualization
The social programmer and a participatory
culture in software engineering
Qualitative research and mixed methods in
software engineering
Dashboards for developers awareness:
Treude and Storey, “Awareness 2.0: staying aware of projects,
developers and tasks using dashboards and feeds,” ICSE 2010.
1968 1980 1990 2000 20101970
Developer tools…
How developers stay up to date using Twitter
How developers assess each other based
on their development and networking activity
How a crowd of developers document open
source API’s through Stackoverflow
How developers share tacit knowledge on
How developers coordinate which code is
committed and accepted through GitHub
1968 1980 1990 2000 20101970
Telephone
Face2Face
Project
Workbook
Documents
Email
Email Lists
VisualAge
Visual Studio
NetBeans Eclipse
IRC
ICQ Skype
SourceForge
Wikis
Trello
Basecamp
Jazz
Slack
Google
Hangouts
Punchcards TFS
Books Usenet
Stack
Overflow
Twitter
Google
Groups
Podcasts
Blogs
GitHub
Conferences
Societies LinkedIn
Facebook
Slashdot
HackerNews
Nondigital Digital Digital & Socially Enabled
Masterbranch
Coderwall
Meetups
Yammer
1968 1980 1990 2000 20101970
Telephone
Face2Face
Project
Workbook
Documents
Email
Email Lists
VisualAge
Visual Studio
NetBeans Eclipse
IRC
ICQ Skype
SourceForge
Wikis
Trello
Basecamp
Jazz
Slack
Google
Hangouts
Punchcards TFS
Books Usenet
Stack
Overflow
Twitter
Google
Groups
Podcasts
Blogs
GitHub
Conferences
Societies LinkedIn
Facebook
Slashdot
HackerNews
Nondigital Digital Digital & Socially Enabled
Masterbranch
Coderwall
Meetups
Yammer
Surveyed over
2,500 devs
Ecosystem of tools and activities
Learning
CodeHosting
Q&Asites
Websearch
Ecosystem of tools and activities
Coordination
CodeHosting
Coordinationtools
Privatechat
Privatediscuss
Ecosystem of tools and activities
FacetoFace
Connecting
Microblogging
Privatediscuss
FacetoFace
Codehosting
Ecosystem of tools and activities
Social tools facilitate a participatory
development culture in software
engineering, with support for the social
creation and sharing of content, informal
mentorship, and awareness that
contributions matter to one another
Storey, M.-A., L. Singer, F. Figueira Filho, B. Cleary and A. Zagalsky,
The (R)evolutionary Role of Social Media in Software Engineering,
ICSE 2014 Future of Software Engineering.
How to study a participatory culture?
(Competing) concerns in
software engineering…
Code: faster, cheaper, more features,
more reliable/secure
Developers: more productive, more
skilled, happier, better connected
Organizations/communities:
attract/retain contributors, encourage a
participatory culture, increase value
https://www.flickr.com/photos/opensourceway/5755219017
Do the answers lie in here?
“The machine does not isolate us from the great problem
of nature but plunges us more deeply into them.”
Antoine de Saint Exupéry
Thick data…
Talk outline…
History of software analytics in software engineering
Risks of software analytics
Why big data needs thick data
Consider both researchers and practitioners….
Talk outline…
History of software analytics in software engineering
Risks of software analytics
Why big data needs thick data
Consider both researchers and practitioners….
Role of data science in
software engineering
Metrics (late 1960’s)
Mining software repositories (mid 2000’s)
Software analytics (early 2010’s)
Role of data science in
software engineering
Metrics (late 1960’s)
Mining software repositories (mid 2000’s)
Software analytics (early 2010’s)
The dawn of software metrics
“The realization came over me with full force
that a good part of the remainder of my life
was going to be spent in finding errors in my
own programs.” Maurice Wilkes, 1949
“If you can't measure it, you can't manage it”
Tom de Marco, 1982
Why use metrics?
To discover facts about the world
To steer our actions
To modify human behaviour
[DeMarco]
Used by individuals, teams, companies,
external organizations…
Software metrics
Product: KLOC, Complexity measures (cyclomatic
complexity, function points), OO metrics, #defects
Process metrics: Testing, code review,
deployment, agile practices (e.g., #sprints,
burndown rate)
Productivity: KLOC, Mean time to repair, #commits
Developer metrics: Skills, followers, biometrics
Estimation: cost metrics and models
Research success?
Success in industry?
• Adoption at large, small companies (e.g., HP)
• Integrated in CASE tools
• Initial focus on product rather than process
• Initial poor use of metrics led to the
Goal Question Metric Approach [Basili et al.]
Lines of Code
§ Easy to calculate, to
understand, to visualize
§ Descriptive of the product,
and developer productivity
§ Correlates with complexity
measures and # of bugs
“Measuring programming
progress by lines of code is like
measuring aircraft building
progress by weight.”
Role of data science in
software engineering
Metrics (late 1960’s)
Mining software repositories (mid 2000’s)
Software analytics (early 2010’s)
Mining software repositories
“We have all this data, the problem is what to
do with it.” [A Software Engineering Researcher]
Mining Software Repositories (MSR) conference
series established in 2004
“Outcroppings of past human behaviour.”
[McGrath]
Data, data, everywhere…
Program data: runtime traces, program logs,
system events, failure logs, performance logs,
continuous deployment,…
User data: usage logs, user surveys, user forums,
A/B testing, Twitter, blogs, …
Development data: source code versions, bug
data, check-in information, test cases and results,
communication between developers, social media
Techniques
Association rules and frequency patterns
Classification
Clustering
Text mining/natural language processing
Searching and mining
Qualitative analysis
See papers from the Mining Software Repositories Conference!
Benefits of mining trace data
Low interference
Low reactivity
Records made by the participants
Data is easy to collect
“Only metric worth counting is defects”
[Demarco, 1997]
Why mine and measure information about bugs?
Personal discovery, evaluation by managers,
understand product status, predict reliability
Bug prediction
• Models to predict bugs show promise
(ownership, churn, tangled code changes)
• Poor replication across organizations!
• Poor actionability (practitioners know
which modules are buggy!)
• The secret life of bugs [Aranda et al.]
Role of data science in
software engineering
Metrics (late 1960’s)
Mining software repositories (mid 2000’s)
Software analytics (early 2010’s)
Lies, Damned Lies and Software Analytics:  Why Big Data Needs Rich Data
Lies, Damned Lies and Software Analytics:  Why Big Data Needs Rich Data
Data science movement…
http://www.forbes.com/sites/gilpress/2013/05/28/a-very-short-history-of-data-science
Goals of software analytics
Improve:
quality of the software
experience of the users
developer productivity
Dongmei Zhang & Tao Xie, http://research.microsoft.com/en-
us/groups/sa/softwareanalyticsinpractice_minitutorial_icse2012.pdf
Data Science Spectrum
Past Present Future
Explore trends alerts forecasting
Analyze summarize compare what-if
Experiment model benchmark simulate
The Art and Science of Analyzing Software Data, by
Bird, Menzies, Zimmermann, Elsevier 2015.
Software Analytics and its role
in Automation
• Scaling to 1000’s of developers —
automation is required! [Jacek Czerwonka]
• Goal is to optimize competing concerns of
quality, time, resources
• Data Scientists manage and measure impacts
of automation and software analytics
[Kim et al., 2016]
Lies, Damned Lies and Software Analytics:  Why Big Data Needs Rich Data
Does increasing test code
coverage increase reliability?
No!
Wasting time testing simple code may increase the
presence of bugs!
[Mockus et al.]
Does increasing test code
coverage increase reliability?
Role of data science in
software engineering
Metrics (late 1960’s)
Mining software repositories (mid 2000’s)
Software analytics (early 2010’s)
Talk outline…
History of software analytics in software engineering
Risks of software analytics
Why big data needs thick data
Consider both researchers and practitioners….
Five Risks
1) Data and construct trustworthiness
2) Reliability of the results
3) Ethical concerns
4) Unintended and unexpected
consequences
5) Big data can’t answer big questions
Risk #1:
Trustworthiness of the data
Data representativeness
(construct validity)
Data completeness
Inaccuracies in profiles, exaggerations,
skewed opinions
Treating humans as “rational” animals
[Harper et al.]
Perils from using GitHub data:
A repository is not necessarily a (development) project
Most projects are inactive or have few commits
Most projects are for personal use only
Only 10% of projects use pull requests
History can be rewritten on GitHub
A lot happens outside of GitHub
The Promises and Perils of Mining GitHub, Eirini Kalliamvakou et al., MSR 2014.
Risk #2:
Trustworthiness of the results
Researcher bias [Shepperd et al., 2014]
Confusing correlations with cause and
effect
Big data and small effects [Marcus et al.]
Inappropriate generalization
Conclusion instability [Menzies et al.]
“all models are wrong, but some are useful”
[Box, 1976]
http://www.dataists.com/2010/09/a-taxonomy-of-data-science/
Risk #3:
Ethical concerns
Private, public, blurred spaces
Surveillance at the level of the individual
Opaque algorithms, opaque biases
[Tufecki, CSCW Keynote, 2015]
http://www.informationweek.com/big-data/big-data-analytics/data-
scientists-want-big-data-ethics-standards/d/d-id/1315798)
Risk #4:
Unexpected consequences
Negative side effects [Gender studies]
Gaming the gamification
Incentives? handle with care!
Assessing and watching developers
Singer, Filho, Cleary, Treude, Storey, Schneider. Mutual Assessment in the Social Programmer
Ecosystem: An Empirical Investigation of Developer Profile Aggregators, CSCW 2013.
Contributing graphs
considered harmful
https://github.com/isaacs/github/issues/627
http://www.hanselman.com/blog/GitHubActi
vityGuiltAndTheCodersFitBit.aspx
Most unwise questions!
Analyze This! 145 Questions for Data Scientists in Software
Engineering Andrew Begel and Thomas Zimmermann
Risk #5:
Big Data can’t answer Big
Questions
Or
Risk #5:
Big Data can’t answer Big
Questions
Or
Risk #5:
Big Data can’t answer Big
Questions
alone
Examples of big questions?
• What is a good architecture to solve problem x?
[Devanbu]
• What makes a really awesome programmer?
[Software managers]
• How to build a great development team? [Google]
• How is program knowledge distributed? [Naur]
• What is the ideal software engineering process?
[Facebook, Microsoft, IBM,…]
• What tools/practices support a participatory
development process? [Storey et al.]
Five Risks
1) Data and construct trustworthiness
2) Reliability of the results
3) Ethical concerns
4) Unintended and unexpected
consequences
5) Big data can’t answer big questions
Talk outline…
History of software analytics in software engineering
Risks of software analytics
Why big data needs thick data, and why thick data
needs big data!
Consider both researchers and practitioners….
Data scientists…
“Typically start with the data, rather
than starting with the problem.”
[Forbes]
“I love data” “I love patterns”
[Kim et al., ICSE 2016]
http://www.forbes.com/sites/gilpress/2013/05/28/a-very-short-history-of-data-science/print/
John Snow’s theory about
cholera came from talking to
people [1850’s]
Danger zones…
http://blogs.lse.ac.uk/impactofsocialsciences/2015/02/12/philosophy-of-data-science-
emma-uprichard/
“Most big data is social data –
the analytics need serious interrogation”
Social
Science+
“It doesn’t matter how much or how good our data is if the
approach to modelling social systems is backwards.”
What is “thick” data?
Researcher generated “thick” data
Explanations, motivations, recommendations
Questions rather than answers
Variables for a model
Future challenges
Limitations: Self reporting, researcher bias,
ambiguity in instruments and collected data
Beyond “Mixed Methods”:
Ethnomining
Combines the ethos of ethnography
interleaved with data mining techniques
around behavioral/social data
Storytelling (to support the numbers)
Leverages visualization within tight loops of
eliciting/reporting results
http://ethnographymatters.net/blog/2013/04/02/april-2013-
ethnomining-and-the-combination-of-qualitative-quantitative-data/
Tagging work items in
ConcernLines
Research challenges ahead
Big data! (of trace and thick data!)
Rapid pace of change
(increased automation,
participatory culture)
Studying unstable objects [Rogers]
Poor boundaries of study contexts
Kevin Kelly, Futurist: “You’ll be paid in the future based
on how well you work with robots.”
Key Takeaway:
Big Data needs Thick Data
Future of data science in
software engineering?
Metrics (late 1960’s)
Mining software repositories (mid 2000’s)
Software analytics (early 2010’s)
Big Data meets Thick Data
@margaretstorey
References:
“Mad about Measurement”, De Marco,
http://ca.wiley.com/WileyCDA/WileyTitle/productCd-0818676450.html
Van Solingen, Rini, et al. "Goal question metric (GQM) approach."
Encyclopedia of software engineering (2002).
The Emerging Role of Data Scientists on Software Development Team,
Miryung Kim, Thomas Zimmermann, Robert DeLine, and Andrew Begel, ICSE
May 2016.
Analyze This! 145 Questions for Data Scientists in Software Engineering,
Andrew Begel and Thomas Zimmermann, ICSE June 2014.
Dongmei Zhang & Tao Xie, http://research.microsoft.com/en-
us/groups/sa/softwareanalyticsinpractice_minitutorial_icse2012.pdf
Rules of Data Science in SE, see www.slideshare.net/timmenzies/the-art-and-
science-of-analyzing-software-data
Audris Mockus, Nachiappan Nagappan, Trung T. Dinh-Trong, Test coverage
and post-verification defects: A multiple case study. ESEM 2009: 291-301
Shepperd, Martin, David Bowes, and Tracy Hall. "Researcher bias: The use of
machine learning in software defect prediction." Software Engineering, IEEE
Transactions on 40.6 (2014): 603-616.
M. Storey, The Evolution of the Social Programmer, Mining Software
Repositories (MSR) 2012 Keynote http://www.slideshare.net/mastorey/msr-
2012-keynote-storey-slideshare
M. Storey et al., The (R)evolution of Social Media in Software Engineering,
ICSE Future of Software Engineering 2014,
http://www.slideshare.net/mastorey/icse2014-fose-social-media
H. Jenkins, K. Clinton, R. Purushotma, A. J. Robison, and M. Weigel.
Confronting the challenges of participatory culture: Media education for the
21st century, 2006.
http://digitallearning.macfound.org/atf/cf/%7B7E45C7E0-A3E0-4B89-
AC9C-E807E1B0AE4E%7D/JENKINS_WHITE_PAPER.PDF
L. Singer, F. F. Filho, B. Cleary, C. Treude, M.-A. Storey, K. Schneider.
Mutual Assessment in the Social Programmer Ecosystem: An Empirical
Investigation of Developer Profile Aggregators
Treude, C., and M.-A. Storey, “Awareness 2.0: staying aware of projects,
developers and tasks using dashboards and feeds,” in ICSE’10: Proc. of
the 32nd ACM/IEEE Int. Conference on Software Engineering, ACM.
C. Treude and M.-A. Storey. Work Item Tagging: Communicating Concerns
in Collaborative Software Development. In IEEE Transactions on Software
Engineering 38, 1 (January/February 2012). pp. 19-34
[Marcus2014] Gary Marcus and Ernest Davis, "Eight (No, Nine!) Problems with Big
Data", New York Times, April 6, 2014
[Harper2013] Richard Harper, Christian Bird, Thomas Zimmermann, and Brendan
Murphy"Dwelling in Software: Aspects of the felt-life of engineers in large software
projects", Proceedings of the 13th European Conference on Computer Supported
Cooperative Work (ECSCW '13), Springer, September 2013.
P. Naur and B. Randell. Software Engineering: Report of a Conference Sponsored
by the NATO Science Committee, Garmisch, Germany, Oct.1968. NATO
Mcgrath, E. "Methodology matters: Doing research in the behavioral and social
sciences." Readings in Human-Computer Interaction: Toward the Year 2000 (2nd
ed. 1995.
Aranda, Jorge, and Gina Venolia. "The secret life of bugs: Going past the errors and
omissions in software repositories." Proceedings of the 31st International
Conference on Software Engineering. IEEE Computer Society, 2009.
Ethno-Mining: Integrating Numbers and Words from the Ground Up:
http://www.eecs.berkeley.edu/Pubs/TechRpts/2006/EECS-2006-125.pdf
How Google builds a really development team, New York Times, 2016.
[Tufekci2015] Zeynep Tufekci, "Algorithms in our Midst: Information, Power
and Choice when Software is Everywhere", Proceedings of the 18th ACM
Conference on Computer Supported Cooperative Work & Social
Computing, pp.1918-1918, ACM 2015.
1 of 79

Recommended

Visualization for Software Analytics by
Visualization for Software AnalyticsVisualization for Software Analytics
Visualization for Software AnalyticsMargaret-Anne Storey
3.1K views64 slides
Towards the Social Programmer (MSR 2012 Keynote by M. Storey) by
Towards the Social Programmer (MSR 2012 Keynote by M. Storey)Towards the Social Programmer (MSR 2012 Keynote by M. Storey)
Towards the Social Programmer (MSR 2012 Keynote by M. Storey)Margaret-Anne Storey
20.7K views89 slides
SLE 2012 Keynote: Cognitive and Social Challenges of Ontology Use in the Biom... by
SLE 2012 Keynote: Cognitive and Social Challenges of Ontology Use in the Biom...SLE 2012 Keynote: Cognitive and Social Challenges of Ontology Use in the Biom...
SLE 2012 Keynote: Cognitive and Social Challenges of Ontology Use in the Biom...Margaret-Anne Storey
15.8K views85 slides
Research industry panel review by
Research industry panel reviewResearch industry panel review
Research industry panel reviewMargaret-Anne Storey
9.2K views29 slides
Cascon 2016 Keynote: Disrupting Developer Productivity One Bot at a Time by
Cascon 2016 Keynote: Disrupting Developer Productivity One Bot at a TimeCascon 2016 Keynote: Disrupting Developer Productivity One Bot at a Time
Cascon 2016 Keynote: Disrupting Developer Productivity One Bot at a TimeMargaret-Anne Storey
1.5K views55 slides
FSE 2016 Panel: The State of Software Engineering Research by
FSE 2016 Panel: The State of Software Engineering ResearchFSE 2016 Panel: The State of Software Engineering Research
FSE 2016 Panel: The State of Software Engineering ResearchMargaret-Anne Storey
833 views55 slides

More Related Content

What's hot

After the Pandemic: Rethinking Developer Productivity (There’s more to it th... by
After the Pandemic:  Rethinking Developer Productivity (There’s more to it th...After the Pandemic:  Rethinking Developer Productivity (There’s more to it th...
After the Pandemic: Rethinking Developer Productivity (There’s more to it th...Margaret-Anne Storey
1.1K views45 slides
The (R)evolution of Social Media in Software Engineering by
The (R)evolution of Social Media in Software EngineeringThe (R)evolution of Social Media in Software Engineering
The (R)evolution of Social Media in Software EngineeringMargaret-Anne Storey
3.7K views35 slides
The Elusive Nature of Software Documentation by
The Elusive Nature of Software DocumentationThe Elusive Nature of Software Documentation
The Elusive Nature of Software DocumentationMargaret-Anne Storey
1.7K views55 slides
How Developers Stay Current Using Twitter by
How Developers Stay Current Using TwitterHow Developers Stay Current Using Twitter
How Developers Stay Current Using TwitterMargaret-Anne Storey
3.9K views47 slides
To Bot or Not: How Bots can Support Collaboration in Software Engineering (I... by
To Bot or Not:  How Bots can Support Collaboration in Software Engineering (I...To Bot or Not:  How Bots can Support Collaboration in Software Engineering (I...
To Bot or Not: How Bots can Support Collaboration in Software Engineering (I...Margaret-Anne Storey
1.9K views70 slides
Data excellence: Better data for better AI by
Data excellence: Better data for better AIData excellence: Better data for better AI
Data excellence: Better data for better AILora Aroyo
987 views35 slides

What's hot(9)

After the Pandemic: Rethinking Developer Productivity (There’s more to it th... by Margaret-Anne Storey
After the Pandemic:  Rethinking Developer Productivity (There’s more to it th...After the Pandemic:  Rethinking Developer Productivity (There’s more to it th...
After the Pandemic: Rethinking Developer Productivity (There’s more to it th...
The (R)evolution of Social Media in Software Engineering by Margaret-Anne Storey
The (R)evolution of Social Media in Software EngineeringThe (R)evolution of Social Media in Software Engineering
The (R)evolution of Social Media in Software Engineering
To Bot or Not: How Bots can Support Collaboration in Software Engineering (I... by Margaret-Anne Storey
To Bot or Not:  How Bots can Support Collaboration in Software Engineering (I...To Bot or Not:  How Bots can Support Collaboration in Software Engineering (I...
To Bot or Not: How Bots can Support Collaboration in Software Engineering (I...
Data excellence: Better data for better AI by Lora Aroyo
Data excellence: Better data for better AIData excellence: Better data for better AI
Data excellence: Better data for better AI
Lora Aroyo987 views
Lopez by anesah
LopezLopez
Lopez
anesah280 views
Automated metadata creation - Possibilities and pitfalls by NASIG
Automated metadata creation - Possibilities and pitfallsAutomated metadata creation - Possibilities and pitfalls
Automated metadata creation - Possibilities and pitfalls
NASIG2.1K views
Presentation of the InVID tools for image forensics analysis by InVID Project
Presentation of the InVID tools for image forensics analysisPresentation of the InVID tools for image forensics analysis
Presentation of the InVID tools for image forensics analysis
InVID Project10.1K views

Viewers also liked

Benevol 2012 Keynote: The Social Software (R)evolution by
Benevol 2012 Keynote: The Social Software (R)evolutionBenevol 2012 Keynote: The Social Software (R)evolution
Benevol 2012 Keynote: The Social Software (R)evolutionMargaret-Anne Storey
1.4K views64 slides
Canary in the Coalmine: How Social Media Can Prepare Us for Big Data by
Canary in the Coalmine: How Social Media Can Prepare Us for Big Data Canary in the Coalmine: How Social Media Can Prepare Us for Big Data
Canary in the Coalmine: How Social Media Can Prepare Us for Big Data Susan Etlinger
16.7K views21 slides
Fun Facts about Big Data by
Fun Facts about Big DataFun Facts about Big Data
Fun Facts about Big DataCrayon Data
6.2K views32 slides
Mining Development Repositories to Study the Impact of Collaboration on Softw... by
Mining Development Repositories to Study the Impact of Collaboration on Softw...Mining Development Repositories to Study the Impact of Collaboration on Softw...
Mining Development Repositories to Study the Impact of Collaboration on Softw...Nicolas Bettenburg
704 views41 slides
ICSE 2011: Research industry panel by
ICSE 2011: Research industry panelICSE 2011: Research industry panel
ICSE 2011: Research industry panelMargaret-Anne Storey
1.3K views15 slides
Icpc 2011 storey by
Icpc 2011 storeyIcpc 2011 storey
Icpc 2011 storeyMargaret-Anne Storey
1.1K views50 slides

Viewers also liked(20)

Benevol 2012 Keynote: The Social Software (R)evolution by Margaret-Anne Storey
Benevol 2012 Keynote: The Social Software (R)evolutionBenevol 2012 Keynote: The Social Software (R)evolution
Benevol 2012 Keynote: The Social Software (R)evolution
Canary in the Coalmine: How Social Media Can Prepare Us for Big Data by Susan Etlinger
Canary in the Coalmine: How Social Media Can Prepare Us for Big Data Canary in the Coalmine: How Social Media Can Prepare Us for Big Data
Canary in the Coalmine: How Social Media Can Prepare Us for Big Data
Susan Etlinger16.7K views
Fun Facts about Big Data by Crayon Data
Fun Facts about Big DataFun Facts about Big Data
Fun Facts about Big Data
Crayon Data6.2K views
Mining Development Repositories to Study the Impact of Collaboration on Softw... by Nicolas Bettenburg
Mining Development Repositories to Study the Impact of Collaboration on Softw...Mining Development Repositories to Study the Impact of Collaboration on Softw...
Mining Development Repositories to Study the Impact of Collaboration on Softw...
Nicolas Bettenburg704 views
Big Data can be fun! by Bruno Aziza
Big Data can be fun!Big Data can be fun!
Big Data can be fun!
Bruno Aziza4.1K views
Mining Software Repositories: Using Humans to Better Software by Marat Akhin
Mining Software Repositories: Using Humans to Better SoftwareMining Software Repositories: Using Humans to Better Software
Mining Software Repositories: Using Humans to Better Software
Marat Akhin789 views
MSR 2009 by swy351
MSR 2009MSR 2009
MSR 2009
swy35135.1K views
ICSME2014 by swy351
ICSME2014ICSME2014
ICSME2014
swy35135.3K views
ICPE2015 by swy351
ICPE2015ICPE2015
ICPE2015
swy35135.4K views
WCRE2011 by swy351
WCRE2011WCRE2011
WCRE2011
swy35135.3K views
ICSE2013 by swy351
ICSE2013ICSE2013
ICSE2013
swy35135.2K views
Msr2016 tarek by swy351
Msr2016 tarek Msr2016 tarek
Msr2016 tarek
swy35132.6K views
ICSE2014 by swy351
ICSE2014ICSE2014
ICSE2014
swy35135.2K views
Mining Sociotechnical Information From Software Repositories by Marco Aurelio Gerosa
Mining Sociotechnical Information From Software RepositoriesMining Sociotechnical Information From Software Repositories
Mining Sociotechnical Information From Software Repositories
MSR End of Internship Talk by Ray Buse
MSR End of Internship TalkMSR End of Internship Talk
MSR End of Internship Talk
Ray Buse1.4K views
ASE2010 by swy351
ASE2010ASE2010
ASE2010
swy35135.2K views
Empirical Software Engineering at Microsoft Research by Thomas Zimmermann
Empirical Software Engineering at Microsoft ResearchEmpirical Software Engineering at Microsoft Research
Empirical Software Engineering at Microsoft Research
Thomas Zimmermann4.6K views
A Metric for Code Readability by Ray Buse
A Metric for Code ReadabilityA Metric for Code Readability
A Metric for Code Readability
Ray Buse3.2K views

Similar to Lies, Damned Lies and Software Analytics: Why Big Data Needs Rich Data

Analyzing Big Data's Weakest Link (hint: it might be you) by
Analyzing Big Data's Weakest Link  (hint: it might be you)Analyzing Big Data's Weakest Link  (hint: it might be you)
Analyzing Big Data's Weakest Link (hint: it might be you)HPCC Systems
422 views29 slides
Big Data: the weakest link by
Big Data: the weakest linkBig Data: the weakest link
Big Data: the weakest linkCS, NcState
1K views29 slides
AudrisMockus_MSR22.pdf by
AudrisMockus_MSR22.pdfAudrisMockus_MSR22.pdf
AudrisMockus_MSR22.pdfTapajitDey1
132 views17 slides
Big Data meets Big Social: Social Machines and the Semantic Web by
Big Data meets Big Social: Social Machines and the Semantic WebBig Data meets Big Social: Social Machines and the Semantic Web
Big Data meets Big Social: Social Machines and the Semantic WebDavid De Roure
3.5K views52 slides
Software Analytics: Towards Software Mining that Matters (2014) by
Software Analytics:Towards Software Mining that Matters (2014)Software Analytics:Towards Software Mining that Matters (2014)
Software Analytics: Towards Software Mining that Matters (2014)Tao Xie
1.7K views35 slides

Similar to Lies, Damned Lies and Software Analytics: Why Big Data Needs Rich Data(20)

Analyzing Big Data's Weakest Link (hint: it might be you) by HPCC Systems
Analyzing Big Data's Weakest Link  (hint: it might be you)Analyzing Big Data's Weakest Link  (hint: it might be you)
Analyzing Big Data's Weakest Link (hint: it might be you)
HPCC Systems422 views
Big Data: the weakest link by CS, NcState
Big Data: the weakest linkBig Data: the weakest link
Big Data: the weakest link
CS, NcState1K views
AudrisMockus_MSR22.pdf by TapajitDey1
AudrisMockus_MSR22.pdfAudrisMockus_MSR22.pdf
AudrisMockus_MSR22.pdf
TapajitDey1132 views
Big Data meets Big Social: Social Machines and the Semantic Web by David De Roure
Big Data meets Big Social: Social Machines and the Semantic WebBig Data meets Big Social: Social Machines and the Semantic Web
Big Data meets Big Social: Social Machines and the Semantic Web
David De Roure3.5K views
Software Analytics: Towards Software Mining that Matters (2014) by Tao Xie
Software Analytics:Towards Software Mining that Matters (2014)Software Analytics:Towards Software Mining that Matters (2014)
Software Analytics: Towards Software Mining that Matters (2014)
Tao Xie1.7K views
ACM Chicago March 2019 meeting: Software Engineering and AI - Prof. Tao Xie, ... by ACM Chicago
ACM Chicago March 2019 meeting: Software Engineering and AI - Prof. Tao Xie, ...ACM Chicago March 2019 meeting: Software Engineering and AI - Prof. Tao Xie, ...
ACM Chicago March 2019 meeting: Software Engineering and AI - Prof. Tao Xie, ...
ACM Chicago124 views
Intelligent Software Engineering: Synergy between AI and Software Engineering by Tao Xie
Intelligent Software Engineering: Synergy between AI and Software EngineeringIntelligent Software Engineering: Synergy between AI and Software Engineering
Intelligent Software Engineering: Synergy between AI and Software Engineering
Tao Xie714 views
The Art and Science of Analyzing Software Data by CS, NcState
The Art and Science of Analyzing Software DataThe Art and Science of Analyzing Software Data
The Art and Science of Analyzing Software Data
CS, NcState4.2K views
Towards Knowledge Graphs of Reusable Research Software Metadata by dgarijo
Towards Knowledge Graphs of Reusable Research Software MetadataTowards Knowledge Graphs of Reusable Research Software Metadata
Towards Knowledge Graphs of Reusable Research Software Metadata
dgarijo624 views
Data Science for Beginner by Chetan Khatri and Deptt. of Computer Science, Ka... by Chetan Khatri
Data Science for Beginner by Chetan Khatri and Deptt. of Computer Science, Ka...Data Science for Beginner by Chetan Khatri and Deptt. of Computer Science, Ka...
Data Science for Beginner by Chetan Khatri and Deptt. of Computer Science, Ka...
Chetan Khatri203 views
V1_I2_2012_Paper3.doc by praveena06
V1_I2_2012_Paper3.docV1_I2_2012_Paper3.doc
V1_I2_2012_Paper3.doc
praveena062 views
Improvement of Software Maintenance and Reliability using Data Mining Techniques by ijdmtaiir
Improvement of Software Maintenance and Reliability using Data Mining TechniquesImprovement of Software Maintenance and Reliability using Data Mining Techniques
Improvement of Software Maintenance and Reliability using Data Mining Techniques
ijdmtaiir19 views
IOT-2016 7-9 Septermber, 2016, Stuttgart, Germany by Charith Perera
IOT-2016  7-9 Septermber, 2016, Stuttgart, GermanyIOT-2016  7-9 Septermber, 2016, Stuttgart, Germany
IOT-2016 7-9 Septermber, 2016, Stuttgart, Germany
Charith Perera1.9K views
Black Box Learning Analytics? Beyond Algorithmic Transparency by Simon Buckingham Shum
Black Box Learning Analytics? Beyond Algorithmic TransparencyBlack Box Learning Analytics? Beyond Algorithmic Transparency
Black Box Learning Analytics? Beyond Algorithmic Transparency
The materiality of code: Towards an understanding of socio-technical relations by Aarhus University
The materiality of code: Towards an understanding of socio-technical relationsThe materiality of code: Towards an understanding of socio-technical relations
The materiality of code: Towards an understanding of socio-technical relations
Aarhus University478 views
OntoSoft: A Distributed Semantic Registry for Scientific Software by dgarijo
OntoSoft: A Distributed Semantic Registry for Scientific SoftwareOntoSoft: A Distributed Semantic Registry for Scientific Software
OntoSoft: A Distributed Semantic Registry for Scientific Software
dgarijo919 views
Better Software, Better Research by Carole Goble
Better Software, Better ResearchBetter Software, Better Research
Better Software, Better Research
Carole Goble657 views
An Abridged Version of My Statement of Research Interests by adil raja
An Abridged Version of My Statement of Research InterestsAn Abridged Version of My Statement of Research Interests
An Abridged Version of My Statement of Research Interests
adil raja5.3K views
Synergy of Human and Artificial Intelligence in Software Engineering by Tao Xie
Synergy of Human and Artificial Intelligence in Software EngineeringSynergy of Human and Artificial Intelligence in Software Engineering
Synergy of Human and Artificial Intelligence in Software Engineering
Tao Xie5.6K views

More from Margaret-Anne Storey

An Actionable Framework for Understanding and Improving Developer Experience by
An Actionable Framework for Understanding and Improving Developer ExperienceAn Actionable Framework for Understanding and Improving Developer Experience
An Actionable Framework for Understanding and Improving Developer ExperienceMargaret-Anne Storey
95 views25 slides
ASE Keynote 2022: From Automation to Empowering Software Developers by
ASE Keynote 2022: From Automation to Empowering Software Developers ASE Keynote 2022: From Automation to Empowering Software Developers
ASE Keynote 2022: From Automation to Empowering Software Developers Margaret-Anne Storey
360 views52 slides
Software Bots as Superheroes in the SPACE of Developer Productivity by
Software Bots as Superheroes in the SPACE of Developer ProductivitySoftware Bots as Superheroes in the SPACE of Developer Productivity
Software Bots as Superheroes in the SPACE of Developer ProductivityMargaret-Anne Storey
368 views42 slides
What does productivity mean to developers by
What does productivity mean to developersWhat does productivity mean to developers
What does productivity mean to developersMargaret-Anne Storey
171 views29 slides
Icse 2020 bof reviewing papers by
Icse 2020 bof reviewing papersIcse 2020 bof reviewing papers
Icse 2020 bof reviewing papersMargaret-Anne Storey
417 views11 slides
Towards a Theory of Developer Satisfaction and Productivity by
Towards a Theory of Developer Satisfaction and ProductivityTowards a Theory of Developer Satisfaction and Productivity
Towards a Theory of Developer Satisfaction and ProductivityMargaret-Anne Storey
1.2K views14 slides

More from Margaret-Anne Storey(8)

An Actionable Framework for Understanding and Improving Developer Experience by Margaret-Anne Storey
An Actionable Framework for Understanding and Improving Developer ExperienceAn Actionable Framework for Understanding and Improving Developer Experience
An Actionable Framework for Understanding and Improving Developer Experience
ASE Keynote 2022: From Automation to Empowering Software Developers by Margaret-Anne Storey
ASE Keynote 2022: From Automation to Empowering Software Developers ASE Keynote 2022: From Automation to Empowering Software Developers
ASE Keynote 2022: From Automation to Empowering Software Developers
Software Bots as Superheroes in the SPACE of Developer Productivity by Margaret-Anne Storey
Software Bots as Superheroes in the SPACE of Developer ProductivitySoftware Bots as Superheroes in the SPACE of Developer Productivity
Software Bots as Superheroes in the SPACE of Developer Productivity
Towards a Theory of Developer Satisfaction and Productivity by Margaret-Anne Storey
Towards a Theory of Developer Satisfaction and ProductivityTowards a Theory of Developer Satisfaction and Productivity
Towards a Theory of Developer Satisfaction and Productivity
Publish or Perish: Questioning the Impact of Our Research on the Software Dev... by Margaret-Anne Storey
Publish or Perish: Questioning the Impact of Our Research on the Software Dev...Publish or Perish: Questioning the Impact of Our Research on the Software Dev...
Publish or Perish: Questioning the Impact of Our Research on the Software Dev...
Using a Visual Abstract as a Lens for Communicating and Promoting Design Scie... by Margaret-Anne Storey
Using a Visual Abstract as a Lens for Communicating and Promoting Design Scie...Using a Visual Abstract as a Lens for Communicating and Promoting Design Scie...
Using a Visual Abstract as a Lens for Communicating and Promoting Design Scie...

Recently uploaded

Confidence in CloudStack - Aron Wagner, Nathan Gleason - Americ by
Confidence in CloudStack - Aron Wagner, Nathan Gleason - AmericConfidence in CloudStack - Aron Wagner, Nathan Gleason - Americ
Confidence in CloudStack - Aron Wagner, Nathan Gleason - AmericShapeBlue
58 views9 slides
Migrating VMware Infra to KVM Using CloudStack - Nicolas Vazquez - ShapeBlue by
Migrating VMware Infra to KVM Using CloudStack - Nicolas Vazquez - ShapeBlueMigrating VMware Infra to KVM Using CloudStack - Nicolas Vazquez - ShapeBlue
Migrating VMware Infra to KVM Using CloudStack - Nicolas Vazquez - ShapeBlueShapeBlue
147 views20 slides
Uni Systems for Power Platform.pptx by
Uni Systems for Power Platform.pptxUni Systems for Power Platform.pptx
Uni Systems for Power Platform.pptxUni Systems S.M.S.A.
60 views21 slides
TrustArc Webinar - Managing Online Tracking Technology Vendors_ A Checklist f... by
TrustArc Webinar - Managing Online Tracking Technology Vendors_ A Checklist f...TrustArc Webinar - Managing Online Tracking Technology Vendors_ A Checklist f...
TrustArc Webinar - Managing Online Tracking Technology Vendors_ A Checklist f...TrustArc
130 views29 slides
Developments to CloudStack’s SDN ecosystem: Integration with VMWare NSX 4 - P... by
Developments to CloudStack’s SDN ecosystem: Integration with VMWare NSX 4 - P...Developments to CloudStack’s SDN ecosystem: Integration with VMWare NSX 4 - P...
Developments to CloudStack’s SDN ecosystem: Integration with VMWare NSX 4 - P...ShapeBlue
120 views62 slides
DRBD Deep Dive - Philipp Reisner - LINBIT by
DRBD Deep Dive - Philipp Reisner - LINBITDRBD Deep Dive - Philipp Reisner - LINBIT
DRBD Deep Dive - Philipp Reisner - LINBITShapeBlue
110 views21 slides

Recently uploaded(20)

Confidence in CloudStack - Aron Wagner, Nathan Gleason - Americ by ShapeBlue
Confidence in CloudStack - Aron Wagner, Nathan Gleason - AmericConfidence in CloudStack - Aron Wagner, Nathan Gleason - Americ
Confidence in CloudStack - Aron Wagner, Nathan Gleason - Americ
ShapeBlue58 views
Migrating VMware Infra to KVM Using CloudStack - Nicolas Vazquez - ShapeBlue by ShapeBlue
Migrating VMware Infra to KVM Using CloudStack - Nicolas Vazquez - ShapeBlueMigrating VMware Infra to KVM Using CloudStack - Nicolas Vazquez - ShapeBlue
Migrating VMware Infra to KVM Using CloudStack - Nicolas Vazquez - ShapeBlue
ShapeBlue147 views
TrustArc Webinar - Managing Online Tracking Technology Vendors_ A Checklist f... by TrustArc
TrustArc Webinar - Managing Online Tracking Technology Vendors_ A Checklist f...TrustArc Webinar - Managing Online Tracking Technology Vendors_ A Checklist f...
TrustArc Webinar - Managing Online Tracking Technology Vendors_ A Checklist f...
TrustArc130 views
Developments to CloudStack’s SDN ecosystem: Integration with VMWare NSX 4 - P... by ShapeBlue
Developments to CloudStack’s SDN ecosystem: Integration with VMWare NSX 4 - P...Developments to CloudStack’s SDN ecosystem: Integration with VMWare NSX 4 - P...
Developments to CloudStack’s SDN ecosystem: Integration with VMWare NSX 4 - P...
ShapeBlue120 views
DRBD Deep Dive - Philipp Reisner - LINBIT by ShapeBlue
DRBD Deep Dive - Philipp Reisner - LINBITDRBD Deep Dive - Philipp Reisner - LINBIT
DRBD Deep Dive - Philipp Reisner - LINBIT
ShapeBlue110 views
Declarative Kubernetes Cluster Deployment with Cloudstack and Cluster API - O... by ShapeBlue
Declarative Kubernetes Cluster Deployment with Cloudstack and Cluster API - O...Declarative Kubernetes Cluster Deployment with Cloudstack and Cluster API - O...
Declarative Kubernetes Cluster Deployment with Cloudstack and Cluster API - O...
ShapeBlue59 views
Automating a World-Class Technology Conference; Behind the Scenes of CiscoLive by Network Automation Forum
Automating a World-Class Technology Conference; Behind the Scenes of CiscoLiveAutomating a World-Class Technology Conference; Behind the Scenes of CiscoLive
Automating a World-Class Technology Conference; Behind the Scenes of CiscoLive
KVM Security Groups Under the Hood - Wido den Hollander - Your.Online by ShapeBlue
KVM Security Groups Under the Hood - Wido den Hollander - Your.OnlineKVM Security Groups Under the Hood - Wido den Hollander - Your.Online
KVM Security Groups Under the Hood - Wido den Hollander - Your.Online
ShapeBlue154 views
What’s New in CloudStack 4.19 - Abhishek Kumar - ShapeBlue by ShapeBlue
What’s New in CloudStack 4.19 - Abhishek Kumar - ShapeBlueWhat’s New in CloudStack 4.19 - Abhishek Kumar - ShapeBlue
What’s New in CloudStack 4.19 - Abhishek Kumar - ShapeBlue
ShapeBlue191 views
Backup and Disaster Recovery with CloudStack and StorPool - Workshop - Venko ... by ShapeBlue
Backup and Disaster Recovery with CloudStack and StorPool - Workshop - Venko ...Backup and Disaster Recovery with CloudStack and StorPool - Workshop - Venko ...
Backup and Disaster Recovery with CloudStack and StorPool - Workshop - Venko ...
ShapeBlue114 views
State of the Union - Rohit Yadav - Apache CloudStack by ShapeBlue
State of the Union - Rohit Yadav - Apache CloudStackState of the Union - Rohit Yadav - Apache CloudStack
State of the Union - Rohit Yadav - Apache CloudStack
ShapeBlue218 views
CloudStack and GitOps at Enterprise Scale - Alex Dometrius, Rene Glover - AT&T by ShapeBlue
CloudStack and GitOps at Enterprise Scale - Alex Dometrius, Rene Glover - AT&TCloudStack and GitOps at Enterprise Scale - Alex Dometrius, Rene Glover - AT&T
CloudStack and GitOps at Enterprise Scale - Alex Dometrius, Rene Glover - AT&T
ShapeBlue81 views
"Surviving highload with Node.js", Andrii Shumada by Fwdays
"Surviving highload with Node.js", Andrii Shumada "Surviving highload with Node.js", Andrii Shumada
"Surviving highload with Node.js", Andrii Shumada
Fwdays49 views
Data Integrity for Banking and Financial Services by Precisely
Data Integrity for Banking and Financial ServicesData Integrity for Banking and Financial Services
Data Integrity for Banking and Financial Services
Precisely76 views
Hypervisor Agnostic DRS in CloudStack - Brief overview & demo - Vishesh Jinda... by ShapeBlue
Hypervisor Agnostic DRS in CloudStack - Brief overview & demo - Vishesh Jinda...Hypervisor Agnostic DRS in CloudStack - Brief overview & demo - Vishesh Jinda...
Hypervisor Agnostic DRS in CloudStack - Brief overview & demo - Vishesh Jinda...
ShapeBlue93 views
CloudStack Object Storage - An Introduction - Vladimir Petrov - ShapeBlue by ShapeBlue
CloudStack Object Storage - An Introduction - Vladimir Petrov - ShapeBlueCloudStack Object Storage - An Introduction - Vladimir Petrov - ShapeBlue
CloudStack Object Storage - An Introduction - Vladimir Petrov - ShapeBlue
ShapeBlue63 views

Lies, Damned Lies and Software Analytics: Why Big Data Needs Rich Data

  • 1. Lies, Damned Lies and Software Analytics: Why Big Data Needs Thick Data Margaret-Anne (Peggy) Storey University of Victoria @margaretstorey Presented at UCI, Irvine, April 2016 and ACM SIGSOFT Webinar, May 4th 2016
  • 2. Acknowledgements: Alexey Zagalsky, Daniel German, Matthieu Foucault (Uvic) Jacek Czerwonka, Brendan Murphy (Microsoft Research) http://www.slideshare.net/mastorey/lies-damned-lies-and- software-analytics-why-big-data-needs-rich-data @margaretstorey
  • 3. My research… Human and social aspects in software engineering: Software visualization The social programmer and a participatory culture in software engineering Qualitative research and mixed methods in software engineering
  • 4. Dashboards for developers awareness: Treude and Storey, “Awareness 2.0: staying aware of projects, developers and tasks using dashboards and feeds,” ICSE 2010.
  • 5. 1968 1980 1990 2000 20101970 Developer tools…
  • 6. How developers stay up to date using Twitter How developers assess each other based on their development and networking activity How a crowd of developers document open source API’s through Stackoverflow How developers share tacit knowledge on How developers coordinate which code is committed and accepted through GitHub
  • 7. 1968 1980 1990 2000 20101970 Telephone Face2Face Project Workbook Documents Email Email Lists VisualAge Visual Studio NetBeans Eclipse IRC ICQ Skype SourceForge Wikis Trello Basecamp Jazz Slack Google Hangouts Punchcards TFS Books Usenet Stack Overflow Twitter Google Groups Podcasts Blogs GitHub Conferences Societies LinkedIn Facebook Slashdot HackerNews Nondigital Digital Digital & Socially Enabled Masterbranch Coderwall Meetups Yammer
  • 8. 1968 1980 1990 2000 20101970 Telephone Face2Face Project Workbook Documents Email Email Lists VisualAge Visual Studio NetBeans Eclipse IRC ICQ Skype SourceForge Wikis Trello Basecamp Jazz Slack Google Hangouts Punchcards TFS Books Usenet Stack Overflow Twitter Google Groups Podcasts Blogs GitHub Conferences Societies LinkedIn Facebook Slashdot HackerNews Nondigital Digital Digital & Socially Enabled Masterbranch Coderwall Meetups Yammer Surveyed over 2,500 devs
  • 9. Ecosystem of tools and activities
  • 13. Social tools facilitate a participatory development culture in software engineering, with support for the social creation and sharing of content, informal mentorship, and awareness that contributions matter to one another Storey, M.-A., L. Singer, F. Figueira Filho, B. Cleary and A. Zagalsky, The (R)evolutionary Role of Social Media in Software Engineering, ICSE 2014 Future of Software Engineering.
  • 14. How to study a participatory culture?
  • 15. (Competing) concerns in software engineering… Code: faster, cheaper, more features, more reliable/secure Developers: more productive, more skilled, happier, better connected Organizations/communities: attract/retain contributors, encourage a participatory culture, increase value
  • 17. “The machine does not isolate us from the great problem of nature but plunges us more deeply into them.” Antoine de Saint Exupéry
  • 19. Talk outline… History of software analytics in software engineering Risks of software analytics Why big data needs thick data Consider both researchers and practitioners….
  • 20. Talk outline… History of software analytics in software engineering Risks of software analytics Why big data needs thick data Consider both researchers and practitioners….
  • 21. Role of data science in software engineering Metrics (late 1960’s) Mining software repositories (mid 2000’s) Software analytics (early 2010’s)
  • 22. Role of data science in software engineering Metrics (late 1960’s) Mining software repositories (mid 2000’s) Software analytics (early 2010’s)
  • 23. The dawn of software metrics “The realization came over me with full force that a good part of the remainder of my life was going to be spent in finding errors in my own programs.” Maurice Wilkes, 1949 “If you can't measure it, you can't manage it” Tom de Marco, 1982
  • 24. Why use metrics? To discover facts about the world To steer our actions To modify human behaviour [DeMarco] Used by individuals, teams, companies, external organizations…
  • 25. Software metrics Product: KLOC, Complexity measures (cyclomatic complexity, function points), OO metrics, #defects Process metrics: Testing, code review, deployment, agile practices (e.g., #sprints, burndown rate) Productivity: KLOC, Mean time to repair, #commits Developer metrics: Skills, followers, biometrics Estimation: cost metrics and models
  • 27. Success in industry? • Adoption at large, small companies (e.g., HP) • Integrated in CASE tools • Initial focus on product rather than process • Initial poor use of metrics led to the Goal Question Metric Approach [Basili et al.]
  • 28. Lines of Code § Easy to calculate, to understand, to visualize § Descriptive of the product, and developer productivity § Correlates with complexity measures and # of bugs
  • 29. “Measuring programming progress by lines of code is like measuring aircraft building progress by weight.”
  • 30. Role of data science in software engineering Metrics (late 1960’s) Mining software repositories (mid 2000’s) Software analytics (early 2010’s)
  • 31. Mining software repositories “We have all this data, the problem is what to do with it.” [A Software Engineering Researcher] Mining Software Repositories (MSR) conference series established in 2004 “Outcroppings of past human behaviour.” [McGrath]
  • 32. Data, data, everywhere… Program data: runtime traces, program logs, system events, failure logs, performance logs, continuous deployment,… User data: usage logs, user surveys, user forums, A/B testing, Twitter, blogs, … Development data: source code versions, bug data, check-in information, test cases and results, communication between developers, social media
  • 33. Techniques Association rules and frequency patterns Classification Clustering Text mining/natural language processing Searching and mining Qualitative analysis See papers from the Mining Software Repositories Conference!
  • 34. Benefits of mining trace data Low interference Low reactivity Records made by the participants Data is easy to collect
  • 35. “Only metric worth counting is defects” [Demarco, 1997] Why mine and measure information about bugs? Personal discovery, evaluation by managers, understand product status, predict reliability
  • 36. Bug prediction • Models to predict bugs show promise (ownership, churn, tangled code changes) • Poor replication across organizations! • Poor actionability (practitioners know which modules are buggy!) • The secret life of bugs [Aranda et al.]
  • 37. Role of data science in software engineering Metrics (late 1960’s) Mining software repositories (mid 2000’s) Software analytics (early 2010’s)
  • 41. Goals of software analytics Improve: quality of the software experience of the users developer productivity Dongmei Zhang & Tao Xie, http://research.microsoft.com/en- us/groups/sa/softwareanalyticsinpractice_minitutorial_icse2012.pdf
  • 42. Data Science Spectrum Past Present Future Explore trends alerts forecasting Analyze summarize compare what-if Experiment model benchmark simulate The Art and Science of Analyzing Software Data, by Bird, Menzies, Zimmermann, Elsevier 2015.
  • 43. Software Analytics and its role in Automation • Scaling to 1000’s of developers — automation is required! [Jacek Czerwonka] • Goal is to optimize competing concerns of quality, time, resources • Data Scientists manage and measure impacts of automation and software analytics [Kim et al., 2016]
  • 45. Does increasing test code coverage increase reliability?
  • 46. No! Wasting time testing simple code may increase the presence of bugs! [Mockus et al.] Does increasing test code coverage increase reliability?
  • 47. Role of data science in software engineering Metrics (late 1960’s) Mining software repositories (mid 2000’s) Software analytics (early 2010’s)
  • 48. Talk outline… History of software analytics in software engineering Risks of software analytics Why big data needs thick data Consider both researchers and practitioners….
  • 49. Five Risks 1) Data and construct trustworthiness 2) Reliability of the results 3) Ethical concerns 4) Unintended and unexpected consequences 5) Big data can’t answer big questions
  • 50. Risk #1: Trustworthiness of the data Data representativeness (construct validity) Data completeness Inaccuracies in profiles, exaggerations, skewed opinions Treating humans as “rational” animals [Harper et al.]
  • 51. Perils from using GitHub data: A repository is not necessarily a (development) project Most projects are inactive or have few commits Most projects are for personal use only Only 10% of projects use pull requests History can be rewritten on GitHub A lot happens outside of GitHub The Promises and Perils of Mining GitHub, Eirini Kalliamvakou et al., MSR 2014.
  • 52. Risk #2: Trustworthiness of the results Researcher bias [Shepperd et al., 2014] Confusing correlations with cause and effect Big data and small effects [Marcus et al.] Inappropriate generalization Conclusion instability [Menzies et al.]
  • 53. “all models are wrong, but some are useful” [Box, 1976] http://www.dataists.com/2010/09/a-taxonomy-of-data-science/
  • 54. Risk #3: Ethical concerns Private, public, blurred spaces Surveillance at the level of the individual Opaque algorithms, opaque biases [Tufecki, CSCW Keynote, 2015]
  • 56. Risk #4: Unexpected consequences Negative side effects [Gender studies] Gaming the gamification Incentives? handle with care!
  • 57. Assessing and watching developers Singer, Filho, Cleary, Treude, Storey, Schneider. Mutual Assessment in the Social Programmer Ecosystem: An Empirical Investigation of Developer Profile Aggregators, CSCW 2013.
  • 59. Most unwise questions! Analyze This! 145 Questions for Data Scientists in Software Engineering Andrew Begel and Thomas Zimmermann
  • 60. Risk #5: Big Data can’t answer Big Questions Or
  • 61. Risk #5: Big Data can’t answer Big Questions Or
  • 62. Risk #5: Big Data can’t answer Big Questions alone
  • 63. Examples of big questions? • What is a good architecture to solve problem x? [Devanbu] • What makes a really awesome programmer? [Software managers] • How to build a great development team? [Google] • How is program knowledge distributed? [Naur] • What is the ideal software engineering process? [Facebook, Microsoft, IBM,…] • What tools/practices support a participatory development process? [Storey et al.]
  • 64. Five Risks 1) Data and construct trustworthiness 2) Reliability of the results 3) Ethical concerns 4) Unintended and unexpected consequences 5) Big data can’t answer big questions
  • 65. Talk outline… History of software analytics in software engineering Risks of software analytics Why big data needs thick data, and why thick data needs big data! Consider both researchers and practitioners….
  • 66. Data scientists… “Typically start with the data, rather than starting with the problem.” [Forbes] “I love data” “I love patterns” [Kim et al., ICSE 2016] http://www.forbes.com/sites/gilpress/2013/05/28/a-very-short-history-of-data-science/print/
  • 67. John Snow’s theory about cholera came from talking to people [1850’s]
  • 68. Danger zones… http://blogs.lse.ac.uk/impactofsocialsciences/2015/02/12/philosophy-of-data-science- emma-uprichard/ “Most big data is social data – the analytics need serious interrogation” Social Science+ “It doesn’t matter how much or how good our data is if the approach to modelling social systems is backwards.”
  • 69. What is “thick” data? Researcher generated “thick” data Explanations, motivations, recommendations Questions rather than answers Variables for a model Future challenges Limitations: Self reporting, researcher bias, ambiguity in instruments and collected data
  • 70. Beyond “Mixed Methods”: Ethnomining Combines the ethos of ethnography interleaved with data mining techniques around behavioral/social data Storytelling (to support the numbers) Leverages visualization within tight loops of eliciting/reporting results http://ethnographymatters.net/blog/2013/04/02/april-2013- ethnomining-and-the-combination-of-qualitative-quantitative-data/
  • 73. Research challenges ahead Big data! (of trace and thick data!) Rapid pace of change (increased automation, participatory culture) Studying unstable objects [Rogers] Poor boundaries of study contexts
  • 74. Kevin Kelly, Futurist: “You’ll be paid in the future based on how well you work with robots.”
  • 75. Key Takeaway: Big Data needs Thick Data
  • 76. Future of data science in software engineering? Metrics (late 1960’s) Mining software repositories (mid 2000’s) Software analytics (early 2010’s) Big Data meets Thick Data @margaretstorey
  • 77. References: “Mad about Measurement”, De Marco, http://ca.wiley.com/WileyCDA/WileyTitle/productCd-0818676450.html Van Solingen, Rini, et al. "Goal question metric (GQM) approach." Encyclopedia of software engineering (2002). The Emerging Role of Data Scientists on Software Development Team, Miryung Kim, Thomas Zimmermann, Robert DeLine, and Andrew Begel, ICSE May 2016. Analyze This! 145 Questions for Data Scientists in Software Engineering, Andrew Begel and Thomas Zimmermann, ICSE June 2014. Dongmei Zhang & Tao Xie, http://research.microsoft.com/en- us/groups/sa/softwareanalyticsinpractice_minitutorial_icse2012.pdf Rules of Data Science in SE, see www.slideshare.net/timmenzies/the-art-and- science-of-analyzing-software-data Audris Mockus, Nachiappan Nagappan, Trung T. Dinh-Trong, Test coverage and post-verification defects: A multiple case study. ESEM 2009: 291-301 Shepperd, Martin, David Bowes, and Tracy Hall. "Researcher bias: The use of machine learning in software defect prediction." Software Engineering, IEEE Transactions on 40.6 (2014): 603-616.
  • 78. M. Storey, The Evolution of the Social Programmer, Mining Software Repositories (MSR) 2012 Keynote http://www.slideshare.net/mastorey/msr- 2012-keynote-storey-slideshare M. Storey et al., The (R)evolution of Social Media in Software Engineering, ICSE Future of Software Engineering 2014, http://www.slideshare.net/mastorey/icse2014-fose-social-media H. Jenkins, K. Clinton, R. Purushotma, A. J. Robison, and M. Weigel. Confronting the challenges of participatory culture: Media education for the 21st century, 2006. http://digitallearning.macfound.org/atf/cf/%7B7E45C7E0-A3E0-4B89- AC9C-E807E1B0AE4E%7D/JENKINS_WHITE_PAPER.PDF L. Singer, F. F. Filho, B. Cleary, C. Treude, M.-A. Storey, K. Schneider. Mutual Assessment in the Social Programmer Ecosystem: An Empirical Investigation of Developer Profile Aggregators Treude, C., and M.-A. Storey, “Awareness 2.0: staying aware of projects, developers and tasks using dashboards and feeds,” in ICSE’10: Proc. of the 32nd ACM/IEEE Int. Conference on Software Engineering, ACM. C. Treude and M.-A. Storey. Work Item Tagging: Communicating Concerns in Collaborative Software Development. In IEEE Transactions on Software Engineering 38, 1 (January/February 2012). pp. 19-34
  • 79. [Marcus2014] Gary Marcus and Ernest Davis, "Eight (No, Nine!) Problems with Big Data", New York Times, April 6, 2014 [Harper2013] Richard Harper, Christian Bird, Thomas Zimmermann, and Brendan Murphy"Dwelling in Software: Aspects of the felt-life of engineers in large software projects", Proceedings of the 13th European Conference on Computer Supported Cooperative Work (ECSCW '13), Springer, September 2013. P. Naur and B. Randell. Software Engineering: Report of a Conference Sponsored by the NATO Science Committee, Garmisch, Germany, Oct.1968. NATO Mcgrath, E. "Methodology matters: Doing research in the behavioral and social sciences." Readings in Human-Computer Interaction: Toward the Year 2000 (2nd ed. 1995. Aranda, Jorge, and Gina Venolia. "The secret life of bugs: Going past the errors and omissions in software repositories." Proceedings of the 31st International Conference on Software Engineering. IEEE Computer Society, 2009. Ethno-Mining: Integrating Numbers and Words from the Ground Up: http://www.eecs.berkeley.edu/Pubs/TechRpts/2006/EECS-2006-125.pdf How Google builds a really development team, New York Times, 2016. [Tufekci2015] Zeynep Tufekci, "Algorithms in our Midst: Information, Power and Choice when Software is Everywhere", Proceedings of the 18th ACM Conference on Computer Supported Cooperative Work & Social Computing, pp.1918-1918, ACM 2015.