43
Essentiality of Context in Software Analytics Mircea F. Lungu SEARCH JBI University of Groningen January 2017, SEN Symposium, CWI, Amsterdam

Essentiality of Context in Software Analytics · Haidar Osman, Mircea Lungu, and Oscar Nierstrasz. In Software Maintenance, Reengineering and Reverse Engineering (CSMR-WCRE), 2014

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Essentiality of Context in Software Analytics · Haidar Osman, Mircea Lungu, and Oscar Nierstrasz. In Software Maintenance, Reengineering and Reverse Engineering (CSMR-WCRE), 2014

Essentiality of Context in Software Analytics

Mircea F. Lungu SEARCH

JBI University of Groningen

January 2017, SEN Symposium, CWI, Amsterdam

Page 2: Essentiality of Context in Software Analytics · Haidar Osman, Mircea Lungu, and Oscar Nierstrasz. In Software Maintenance, Reengineering and Reverse Engineering (CSMR-WCRE), 2014

Essentiality of Context in Software Analytics

Mircea F. Lungu SEARCH

JBI University of Groningen

January 2017, SEN Symposium, CWI, Amsterdam

Three types

Page 3: Essentiality of Context in Software Analytics · Haidar Osman, Mircea Lungu, and Oscar Nierstrasz. In Software Maintenance, Reengineering and Reverse Engineering (CSMR-WCRE), 2014
Page 4: Essentiality of Context in Software Analytics · Haidar Osman, Mircea Lungu, and Oscar Nierstrasz. In Software Maintenance, Reengineering and Reverse Engineering (CSMR-WCRE), 2014

Two things above all others: read a lot and write a lot

Page 5: Essentiality of Context in Software Analytics · Haidar Osman, Mircea Lungu, and Oscar Nierstrasz. In Software Maintenance, Reengineering and Reverse Engineering (CSMR-WCRE), 2014

Editor

Page 6: Essentiality of Context in Software Analytics · Haidar Osman, Mircea Lungu, and Oscar Nierstrasz. In Software Maintenance, Reengineering and Reverse Engineering (CSMR-WCRE), 2014

Teaching students thatsource code is Rwx

Page 7: Essentiality of Context in Software Analytics · Haidar Osman, Mircea Lungu, and Oscar Nierstrasz. In Software Maintenance, Reengineering and Reverse Engineering (CSMR-WCRE), 2014

http://blog.stephenwolfram.com/2010/10/the-poetry-of-function-naming/

a strange and difficult art, a little bit like an abstracted form of poetry

(S. Wolfram)

Naming functions…

Page 8: Essentiality of Context in Software Analytics · Haidar Osman, Mircea Lungu, and Oscar Nierstrasz. In Software Maintenance, Reengineering and Reverse Engineering (CSMR-WCRE), 2014

Good code detectorsand code perfumes!

Page 9: Essentiality of Context in Software Analytics · Haidar Osman, Mircea Lungu, and Oscar Nierstrasz. In Software Maintenance, Reengineering and Reverse Engineering (CSMR-WCRE), 2014

The codebase of Google has 2 billion LOC.All in one place

Page 10: Essentiality of Context in Software Analytics · Haidar Osman, Mircea Lungu, and Oscar Nierstrasz. In Software Maintenance, Reengineering and Reverse Engineering (CSMR-WCRE), 2014

Remember that time when you tried to stop using google?

and then you changed your mind?

Page 11: Essentiality of Context in Software Analytics · Haidar Osman, Mircea Lungu, and Oscar Nierstrasz. In Software Maintenance, Reengineering and Reverse Engineering (CSMR-WCRE), 2014
Page 12: Essentiality of Context in Software Analytics · Haidar Osman, Mircea Lungu, and Oscar Nierstrasz. In Software Maintenance, Reengineering and Reverse Engineering (CSMR-WCRE), 2014

Using context to offer you the best… ads!

Page 13: Essentiality of Context in Software Analytics · Haidar Osman, Mircea Lungu, and Oscar Nierstrasz. In Software Maintenance, Reengineering and Reverse Engineering (CSMR-WCRE), 2014

Temporal Contextshort term

Page 14: Essentiality of Context in Software Analytics · Haidar Osman, Mircea Lungu, and Oscar Nierstrasz. In Software Maintenance, Reengineering and Reverse Engineering (CSMR-WCRE), 2014

Replaing past development sessions

http://scg.unibe.ch/scgbib?_k=cTtdaMMP&query=replay+hattori

Page 15: Essentiality of Context in Software Analytics · Haidar Osman, Mircea Lungu, and Oscar Nierstrasz. In Software Maintenance, Reengineering and Reverse Engineering (CSMR-WCRE), 2014

Temporal Contextlong term

Page 16: Essentiality of Context in Software Analytics · Haidar Osman, Mircea Lungu, and Oscar Nierstrasz. In Software Maintenance, Reengineering and Reverse Engineering (CSMR-WCRE), 2014

Language Independent Meta-Model

Software Analytics Platform

Page 17: Essentiality of Context in Software Analytics · Haidar Osman, Mircea Lungu, and Oscar Nierstrasz. In Software Maintenance, Reengineering and Reverse Engineering (CSMR-WCRE), 2014

Interactive Architecture Recovery

Evolutionary and Collaborative Software Architecture Recovery with Softwarenaut. Mircea Lungu, Michele Lanza, and Oscar Nierstrasz. In Science of Computer Programming 79(0) p. 204 - 223, 2014.

Page 18: Essentiality of Context in Software Analytics · Haidar Osman, Mircea Lungu, and Oscar Nierstrasz. In Software Maintenance, Reengineering and Reverse Engineering (CSMR-WCRE), 2014

Hotspots can focus the analysis process

https://mircealungu.github.io/post/14-01-01-evolutionary-and-collaborative-software-architecture-recovery/

Page 19: Essentiality of Context in Software Analytics · Haidar Osman, Mircea Lungu, and Oscar Nierstrasz. In Software Maintenance, Reengineering and Reverse Engineering (CSMR-WCRE), 2014

“No system is an island, entire of itself”

Page 20: Essentiality of Context in Software Analytics · Haidar Osman, Mircea Lungu, and Oscar Nierstrasz. In Software Maintenance, Reengineering and Reverse Engineering (CSMR-WCRE), 2014
Page 21: Essentiality of Context in Software Analytics · Haidar Osman, Mircea Lungu, and Oscar Nierstrasz. In Software Maintenance, Reengineering and Reverse Engineering (CSMR-WCRE), 2014

The Systemic ContextThe ecosystem: challenges

Page 22: Essentiality of Context in Software Analytics · Haidar Osman, Mircea Lungu, and Oscar Nierstrasz. In Software Maintenance, Reengineering and Reverse Engineering (CSMR-WCRE), 2014

And some organizations are still using tools like these!

Page 23: Essentiality of Context in Software Analytics · Haidar Osman, Mircea Lungu, and Oscar Nierstrasz. In Software Maintenance, Reengineering and Reverse Engineering (CSMR-WCRE), 2014

The Small Project Observatory: Visualizing Software Ecosystems. Mircea Lungu, Michele Lanza, Tudor Gîrba, and Romain Robbes. In Science of Computer Programming, Elsevier 75(4) p. 264—275, April 2010.

Ecosystem Dashboards

Page 24: Essentiality of Context in Software Analytics · Haidar Osman, Mircea Lungu, and Oscar Nierstrasz. In Software Maintenance, Reengineering and Reverse Engineering (CSMR-WCRE), 2014
Page 25: Essentiality of Context in Software Analytics · Haidar Osman, Mircea Lungu, and Oscar Nierstrasz. In Software Maintenance, Reengineering and Reverse Engineering (CSMR-WCRE), 2014

A Quantitative Analysis of Developer Information Needs. Nicole Haenni, Mircea Lungu, Niko Schwarz, and Oscar Nierstrasz. In Software Ecosystems. In Proceedings of the 2nd Workshop on Ecosystem Architectures (WEA'14), 2014.

Page 26: Essentiality of Context in Software Analytics · Haidar Osman, Mircea Lungu, and Oscar Nierstrasz. In Software Maintenance, Reengineering and Reverse Engineering (CSMR-WCRE), 2014

The DRY Principle

But what about DRO? * On How Often Code is Cloned Across Repositories.

Schwarz, Lungu, Robbes. ICSE NIER 2012

Smalltalk Ecosystem: 14% of code cloned*!

Page 27: Essentiality of Context in Software Analytics · Haidar Osman, Mircea Lungu, and Oscar Nierstrasz. In Software Maintenance, Reengineering and Reverse Engineering (CSMR-WCRE), 2014

Challenge: establishing the right ecosystem norms

back to this later…

Page 28: Essentiality of Context in Software Analytics · Haidar Osman, Mircea Lungu, and Oscar Nierstrasz. In Software Maintenance, Reengineering and Reverse Engineering (CSMR-WCRE), 2014

The Systemic ContextThe ecosystem: opportunities

Page 29: Essentiality of Context in Software Analytics · Haidar Osman, Mircea Lungu, and Oscar Nierstrasz. In Software Maintenance, Reengineering and Reverse Engineering (CSMR-WCRE), 2014

#1 — usability of our tools++

Page 30: Essentiality of Context in Software Analytics · Haidar Osman, Mircea Lungu, and Oscar Nierstrasz. In Software Maintenance, Reengineering and Reverse Engineering (CSMR-WCRE), 2014

30

The Refactoring Browser

Page 31: Essentiality of Context in Software Analytics · Haidar Osman, Mircea Lungu, and Oscar Nierstrasz. In Software Maintenance, Reengineering and Reverse Engineering (CSMR-WCRE), 2014

31

Page 32: Essentiality of Context in Software Analytics · Haidar Osman, Mircea Lungu, and Oscar Nierstrasz. In Software Maintenance, Reengineering and Reverse Engineering (CSMR-WCRE), 2014

32

Page 33: Essentiality of Context in Software Analytics · Haidar Osman, Mircea Lungu, and Oscar Nierstrasz. In Software Maintenance, Reengineering and Reverse Engineering (CSMR-WCRE), 2014
Page 34: Essentiality of Context in Software Analytics · Haidar Osman, Mircea Lungu, and Oscar Nierstrasz. In Software Maintenance, Reengineering and Reverse Engineering (CSMR-WCRE), 2014

Geo-Locating the Knowledge Transfer in StackOverflow. Dennis Schenk and Mircea Lungu. In Proceedings of the 5th International Workshop on Social Software Engineering, p. 21—24, 2013.

Page 35: Essentiality of Context in Software Analytics · Haidar Osman, Mircea Lungu, and Oscar Nierstrasz. In Software Maintenance, Reengineering and Reverse Engineering (CSMR-WCRE), 2014

Usage of java.lang.Thread in the ecosystem

35

Pangea streamlines analyzingmultiple systems with Moose.

Page 36: Essentiality of Context in Software Analytics · Haidar Osman, Mircea Lungu, and Oscar Nierstrasz. In Software Maintenance, Reengineering and Reverse Engineering (CSMR-WCRE), 2014

JavaDoc in ChromeAugmenting

36

Overthrowing the Tyranny of Alphabetical Ordering in Documentation Systems. Boris Spasojević, Mircea Lungu, and Oscar Nierstrasz. In 2014 IEEE International Conference on Software Maintenance and Evolution (ERA Track), p. 511-515, September 2014.

Page 37: Essentiality of Context in Software Analytics · Haidar Osman, Mircea Lungu, and Oscar Nierstrasz. In Software Maintenance, Reengineering and Reverse Engineering (CSMR-WCRE), 2014

The Refactoring BrowserAugmenting

37

Overthrowing the Tyranny of Alphabetical Ordering in Documentation Systems. Boris Spasojević, Mircea Lungu, and Oscar Nierstrasz. In 2014 IEEE International Conference on Software Maintenance and Evolution (ERA Track), p. 511-515, September 2014.

Page 38: Essentiality of Context in Software Analytics · Haidar Osman, Mircea Lungu, and Oscar Nierstrasz. In Software Maintenance, Reengineering and Reverse Engineering (CSMR-WCRE), 2014

#2 — intelligence of our tools++

Page 39: Essentiality of Context in Software Analytics · Haidar Osman, Mircea Lungu, and Oscar Nierstrasz. In Software Maintenance, Reengineering and Reverse Engineering (CSMR-WCRE), 2014

Most Popular Bug-Fixes

#3 — understanding our organization++

Mining frequent bug-fix code changes. Haidar Osman, Mircea Lungu, and Oscar Nierstrasz. In Software Maintenance, Reengineering and Reverse Engineering (CSMR-WCRE), 2014 Software Evolution Week - IEEE Conference on, p. 343-347, February 2014

Page 40: Essentiality of Context in Software Analytics · Haidar Osman, Mircea Lungu, and Oscar Nierstrasz. In Software Maintenance, Reengineering and Reverse Engineering (CSMR-WCRE), 2014

The Personal Context

Page 41: Essentiality of Context in Software Analytics · Haidar Osman, Mircea Lungu, and Oscar Nierstrasz. In Software Maintenance, Reengineering and Reverse Engineering (CSMR-WCRE), 2014

Lungu, Bootstrapping a Ubiquitous Software Ecosystem, Proceedings of WEA 2016

Accelerating Second Language Acquisition

Page 42: Essentiality of Context in Software Analytics · Haidar Osman, Mircea Lungu, and Oscar Nierstrasz. In Software Maintenance, Reengineering and Reverse Engineering (CSMR-WCRE), 2014

Code Reading Recommenderbased on subjective complexity

Page 43: Essentiality of Context in Software Analytics · Haidar Osman, Mircea Lungu, and Oscar Nierstrasz. In Software Maintenance, Reengineering and Reverse Engineering (CSMR-WCRE), 2014

Context in Software Analytics

Temporal (eco)Systemic Personal

@mircealunguhttps://mircealungu.github.io