Top Banner
Software Analytics: Opportunities and Challenges Olga Baysal School of Computer Science Carleton University [email protected] olgabaysal.com @olgabaysal Latifa Guerrouj Département de GL et des TI École de Technologie Supérieure [email protected] latifaguerrouj.ca @Latifa_Guerrouj
43

Software Analytics: Opportunities and Challenges · Software Analytics: Opportunities and Challenges Olga Baysal ! School of Computer Science Carleton University [email protected]

Aug 11, 2020

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Software Analytics: Opportunities and Challenges · Software Analytics: Opportunities and Challenges Olga Baysal ! School of Computer Science Carleton University olga.baysal@carleton.ca

Software Analytics: Opportunities and Challenges

Olga Baysal !

School of Computer Science Carleton University

[email protected] olgabaysal.com

@olgabaysal

Latifa Guerrouj !

Département de GL et des TI École de Technologie Supérieure

[email protected] latifaguerrouj.ca

@Latifa_Guerrouj

Page 2: Software Analytics: Opportunities and Challenges · Software Analytics: Opportunities and Challenges Olga Baysal ! School of Computer Science Carleton University olga.baysal@carleton.ca

Development Data

Development (Big) Data

2

Page 3: Software Analytics: Opportunities and Challenges · Software Analytics: Opportunities and Challenges Olga Baysal ! School of Computer Science Carleton University olga.baysal@carleton.ca

Mining Software Repositories

3

Docs

Other artifacts

Issues Mailing lists

Source code information

Code Tests Build/ Config

Version Control

Runtime dataCrash repos Field logs

Usage data

Detection and analysis of hidden patterns and trends

Page 4: Software Analytics: Opportunities and Challenges · Software Analytics: Opportunities and Challenges Olga Baysal ! School of Computer Science Carleton University olga.baysal@carleton.ca

Problem

4

Development artifacts

Stakeholders

Data Is NOT Actionable

Page 5: Software Analytics: Opportunities and Challenges · Software Analytics: Opportunities and Challenges Olga Baysal ! School of Computer Science Carleton University olga.baysal@carleton.ca

Decisions Drive Development!

5

QA

Developers

Managers

Release engineers Program correctness

Product deadlines

Risks, cost, operation, planning

Program defects

When do we release?

Are we ready to release? How do I fix this bug?

How effective is our test suite?

Decisions are often based on intuition or experience

Page 6: Software Analytics: Opportunities and Challenges · Software Analytics: Opportunities and Challenges Olga Baysal ! School of Computer Science Carleton University olga.baysal@carleton.ca

Solution – Analytics

6

Page 7: Software Analytics: Opportunities and Challenges · Software Analytics: Opportunities and Challenges Olga Baysal ! School of Computer Science Carleton University olga.baysal@carleton.ca

Analytics In Industry

7

Page 8: Software Analytics: Opportunities and Challenges · Software Analytics: Opportunities and Challenges Olga Baysal ! School of Computer Science Carleton University olga.baysal@carleton.ca

Software Analytics

8

Page 9: Software Analytics: Opportunities and Challenges · Software Analytics: Opportunities and Challenges Olga Baysal ! School of Computer Science Carleton University olga.baysal@carleton.ca

Benefits of Software Analytics

9

Page 10: Software Analytics: Opportunities and Challenges · Software Analytics: Opportunities and Challenges Olga Baysal ! School of Computer Science Carleton University olga.baysal@carleton.ca

Supporting Development Decisions

10

Data-driven decision making, fact-based views of projects

QA

Developers

Managers

Release engineers

Product deadlines

Risks, cost, operation, planning

Program defects

When do we release?

Are we ready to release?How do I fix this bug?

How effective is our test suite?

Program correctness

Page 11: Software Analytics: Opportunities and Challenges · Software Analytics: Opportunities and Challenges Olga Baysal ! School of Computer Science Carleton University olga.baysal@carleton.ca

Software Artifacts• Source Code

• Execution Trace

• Development History

• Bug Reports

• Code Reviews

• Developer Activities

• Software Forums

• Software Microblogs 11

Page 12: Software Analytics: Opportunities and Challenges · Software Analytics: Opportunities and Challenges Olga Baysal ! School of Computer Science Carleton University olga.baysal@carleton.ca

Artifact: Source Code

• Various languages

• Various kinds of systems

• Various scale: small, medium, large

• Various complexities

• Various programming styles

12

Page 13: Software Analytics: Opportunities and Challenges · Software Analytics: Opportunities and Challenges Olga Baysal ! School of Computer Science Carleton University olga.baysal@carleton.ca

4

Artifact: Source Code

13

Page 14: Software Analytics: Opportunities and Challenges · Software Analytics: Opportunities and Challenges Olga Baysal ! School of Computer Science Carleton University olga.baysal@carleton.ca

Artifact: Source Code• Where to find code?

– GitHub: https://github.com/ – Google code: http://code.google.com/ – Many other places online

!• How to analyze source code?

– Program analysis tools • WALA: http://wala.sourceforge.net

• JPF: http://javapathfinder.sourceforge.net/

• Soot: http://sable.github.io/soot/

• Clang: http://clang-analyzer.llvm.org/

Page 15: Software Analytics: Opportunities and Challenges · Software Analytics: Opportunities and Challenges Olga Baysal ! School of Computer Science Carleton University olga.baysal@carleton.ca

Artifact: Execution Traces

• Information collected when a program is run

• What kind of information is collected?

– Sequences of methods that are executed

– State of various variables at various times

– State of various invariants at various times

– Which components are loaded at various times

15

Page 16: Software Analytics: Opportunities and Challenges · Software Analytics: Opportunities and Challenges Olga Baysal ! School of Computer Science Carleton University olga.baysal@carleton.ca

Artifact: Execution Traces

16

Caller | Callee | Method Signature

Page 17: Software Analytics: Opportunities and Challenges · Software Analytics: Opportunities and Challenges Olga Baysal ! School of Computer Science Carleton University olga.baysal@carleton.ca

Artifact: Execution Traces• How to collect?

– Insert instrumentation code

– Execute program

– Instrumentation code writes a log file !

• What tools are available to collect traces?

– Daikon Chicory: http://groups.csail.mit.edu/pag/daikon/dist/doc/daikon.html

– PIN: http://software.intel.com/en-us/articles/pin-a-dynamic-binary-instrumentation-tool

– Valgrind: http://valgrind.org/ 17

Page 18: Software Analytics: Opportunities and Challenges · Software Analytics: Opportunities and Challenges Olga Baysal ! School of Computer Science Carleton University olga.baysal@carleton.ca

Artifact: Development History

• What code is

– Added

– Deleted

– Edited

• When

• By Whom

• For What Reason

18

Page 19: Software Analytics: Opportunities and Challenges · Software Analytics: Opportunities and Challenges Olga Baysal ! School of Computer Science Carleton University olga.baysal@carleton.ca

Artifact: Development History

19

Page 20: Software Analytics: Opportunities and Challenges · Software Analytics: Opportunities and Challenges Olga Baysal ! School of Computer Science Carleton University olga.baysal@carleton.ca

Artifact: Development History

20

Page 21: Software Analytics: Opportunities and Challenges · Software Analytics: Opportunities and Challenges Olga Baysal ! School of Computer Science Carleton University olga.baysal@carleton.ca

Artifact: Development History

• Various tools

– CVS – Version per file

– SVN – Version per snapshot

– Git – Distributed

• Slightly different ways to manage content

21

Page 22: Software Analytics: Opportunities and Challenges · Software Analytics: Opportunities and Challenges Olga Baysal ! School of Computer Science Carleton University olga.baysal@carleton.ca

Artifact: Bug Reports

• People report errors and issues that they encounter in the field

• These errors include:

– Description of the bugs

– Steps to reproduce the bugs

– Severity level

– Parts of the system affected by the bug

– Failure traces22

Page 23: Software Analytics: Opportunities and Challenges · Software Analytics: Opportunities and Challenges Olga Baysal ! School of Computer Science Carleton University olga.baysal@carleton.ca

Artifact: Bug Reports

• Various kinds of bug repositories

– BugZilla: http://www.bugzilla.org/

Example site: https://bugzilla.mozilla.org/

– JIRA: http://www.atlassian.com/software/jira/

Example site: https://issues.apache.org/jira/browse

23

Page 24: Software Analytics: Opportunities and Challenges · Software Analytics: Opportunities and Challenges Olga Baysal ! School of Computer Science Carleton University olga.baysal@carleton.ca

Artifact: Bug Reports

24

Title

Page 25: Software Analytics: Opportunities and Challenges · Software Analytics: Opportunities and Challenges Olga Baysal ! School of Computer Science Carleton University olga.baysal@carleton.ca

Artifact: Bug Reports

25

Detailed Description

Page 26: Software Analytics: Opportunities and Challenges · Software Analytics: Opportunities and Challenges Olga Baysal ! School of Computer Science Carleton University olga.baysal@carleton.ca

Artifact: Code Reviews

26

Page 27: Software Analytics: Opportunities and Challenges · Software Analytics: Opportunities and Challenges Olga Baysal ! School of Computer Science Carleton University olga.baysal@carleton.ca

Artifact: Code Reviews

27

Page 28: Software Analytics: Opportunities and Challenges · Software Analytics: Opportunities and Challenges Olga Baysal ! School of Computer Science Carleton University olga.baysal@carleton.ca

28

Artifact: Code Reviews

Page 29: Software Analytics: Opportunities and Challenges · Software Analytics: Opportunities and Challenges Olga Baysal ! School of Computer Science Carleton University olga.baysal@carleton.ca

Artifact: Developer Activities

• Developers form a social network

– Developers work on various projects

– Projects have various types, programming languages and developers

– Developers follow updates from various other developers and projects

• A heterogeneous social network is formed

29

Page 30: Software Analytics: Opportunities and Challenges · Software Analytics: Opportunities and Challenges Olga Baysal ! School of Computer Science Carleton University olga.baysal@carleton.ca

Artifact: Developer Activities

30

•  GitHub’s CEO, Tom Preston-Werner:

“We like the ideas of social networking. We think that developers work more effectively when they work together. So let’s take the ideas of a social network and add on top of that code hosting, and let’s create a site that makes it easy to share and collaborate on code”.

Page 31: Software Analytics: Opportunities and Challenges · Software Analytics: Opportunities and Challenges Olga Baysal ! School of Computer Science Carleton University olga.baysal@carleton.ca

Artifact: Developer Activities

There are more than 12M people collaborating right now on

GitHub on over 31M projects using a powerful collaborative

development workflow.

Page 32: Software Analytics: Opportunities and Challenges · Software Analytics: Opportunities and Challenges Olga Baysal ! School of Computer Science Carleton University olga.baysal@carleton.ca

32

Page 33: Software Analytics: Opportunities and Challenges · Software Analytics: Opportunities and Challenges Olga Baysal ! School of Computer Science Carleton University olga.baysal@carleton.ca

33

Page 34: Software Analytics: Opportunities and Challenges · Software Analytics: Opportunities and Challenges Olga Baysal ! School of Computer Science Carleton University olga.baysal@carleton.ca

34

Page 35: Software Analytics: Opportunities and Challenges · Software Analytics: Opportunities and Challenges Olga Baysal ! School of Computer Science Carleton University olga.baysal@carleton.ca

35

Page 36: Software Analytics: Opportunities and Challenges · Software Analytics: Opportunities and Challenges Olga Baysal ! School of Computer Science Carleton University olga.baysal@carleton.ca

Artifact: Software Forums

• Developers ask and answer questions

• About various topics

• In various threads, some of which are very long

• Stored in various sites

–StackOverflow: http://stackoverflow.com/

–SoftwareTripsAndTricks: http://www.softwaretipsandtricks.com/forum/

36

Page 37: Software Analytics: Opportunities and Challenges · Software Analytics: Opportunities and Challenges Olga Baysal ! School of Computer Science Carleton University olga.baysal@carleton.ca

Artifact: Software Forums

37

Page 38: Software Analytics: Opportunities and Challenges · Software Analytics: Opportunities and Challenges Olga Baysal ! School of Computer Science Carleton University olga.baysal@carleton.ca

Artifact: Software Forums

38

Page 39: Software Analytics: Opportunities and Challenges · Software Analytics: Opportunities and Challenges Olga Baysal ! School of Computer Science Carleton University olga.baysal@carleton.ca

Artifact: Software Microblogs• Developers microblog too

• Developers microblog about various activities:

– Advertisements

– Code and tools

– News

– Q&A

– Events

– Opinions

– Tips

– Etc.39

Page 40: Software Analytics: Opportunities and Challenges · Software Analytics: Opportunities and Challenges Olga Baysal ! School of Computer Science Carleton University olga.baysal@carleton.ca

Artifact: Software Microblogs

40

Page 41: Software Analytics: Opportunities and Challenges · Software Analytics: Opportunities and Challenges Olga Baysal ! School of Computer Science Carleton University olga.baysal@carleton.ca

Opportunities!

• Help developers/managers to understand their projects, cope with their evolution, and support them during their decision-making.!

• Extract relevant & insightful information, analyze it, and transform to decisions for the future.

!• Find trends, anticipate issues, and bring

awareness on weaknesses or conditions for making future decisions.

!• Make proactive decisions using proactive

analytics: predictive modelling, data mining, machine learning, statistical analysis, etc.

41

Page 42: Software Analytics: Opportunities and Challenges · Software Analytics: Opportunities and Challenges Olga Baysal ! School of Computer Science Carleton University olga.baysal@carleton.ca

Opportunities!

• Leading tech. companies need insights to create actionable tools, increase quality, efficiency, services and risk management.!!

• Organizations apply analytics to create opportunities for growth, innovation and competitive advantage.

!!

• Data analytics identify patterns, trends and opportunities for improvement, enabling to spot which initiatives work, which fail, and to adjust accordingly.

42

Page 43: Software Analytics: Opportunities and Challenges · Software Analytics: Opportunities and Challenges Olga Baysal ! School of Computer Science Carleton University olga.baysal@carleton.ca

Challenges• SE data without explicit format.• SE data is plentiful.• Acting on results from data analysis is not easy.• Analytic tools? May be but should meet the need and

be easy to use.• Adoption of software analytics into software

development processes.• Development and integration of analytics tools in

practical settings.

43