SlideShare a Scribd company logo
Visualization for Software Analytics 
Margaret-Anne (Peggy) Storey 
@margaretstorey 
#vissoft14 #icsme14 
@margaretstorey 
#vis4se
Why visualization? 
Provide insights 
Answer questions 
Support wayfinding 
Tell stories 
Communicate knowledge, awareness 
! 
! 
! 
!
For software… 
Visualize what?
Design 
UML
Algorithms 
bost.ocks.org/mike/algorithms/
Code, 
dependencies http://thechiselgroup.org/2005/07/06/zest/ 
http://swerl.tudelft.nl/bin/view/Main/ExTraVis
Dynamic behaviour 
Cleary, B., Storey, M., Chan, L., Salois, M., Painchaud, F., 
"ATLANTIS - Assembly Trace Analysis Environment," 
Working Conference on Reverse Engineering (WCRE), 2012. 
http://hapao.dcc.uchile.cl
Architecture 
Wettel, R. & Lanza, M. "CodeCity: 3D 
visualization of large-scale software,” (ICSE 
Companion '08), 2008 
Creole: http://thechiselgroup.org/ 
2003/07/06/creole/
Gourse: visualizing commits 
Human activities
Software ecosystems
ADOPTION 
Lessons learned? 
THEORIES 
METHODS 
FLOW 
USERS 
TASKS
Diver: 
Myers, D. & Storey, M. "Focusing on Execution Traces Using Diver," 18th Working Conference on 
Reverse Engineering (WCRE), 2011, pp.439-440
A theory of cognitive support for Diver…
Framework… 
Dimensions Characteristics Elements 
Intent Role Team, Developer, Manager, Researcher, Maintainer, Reengineer 
Time Present, Recent Past, Historical 
Authorship Authorship, Rationale, Time, Artifacts 
Information Change management Local History, Releases, Releases, Branching, Revisions 
Defect tracking Defects, Changes 
Program code Modules/components, Syntactic units (e.g. files), Semantic analysis 
Documentation Requirements, Design, Test cases, Architecture 
Informal communication Email, Instant messages 
Derived/Aggregated Single source, multiple source 
Presentation Form Text, Hypertext, Graphical 
Kinds of views Annotated views, Statistical views, Graph views, Special views 
Techniques Visual variables (colour, position etc), Animation, 2D/3D 
Interaction Batch/Live Offline, Online, Customizable 
Customization Level of customization, sharing and saving customizations 
Queries Query language, Visual queries, Filter widgets 
View navigation Multiple views, Overview+detail, Zoomable views, Coupled 
Effectiveness System Implemented, Availability, Scalability, Interoperability 
Cost Economic cost, Installation, Learning, Usage 
Evaluation Adopted, Case study, User study 
Storey, M.-A. & Cubranic, D. & German, D. M. "On the use of visualization to support awareness of 
human activities in software development: a survey and a framework," ACM symposium on 
Software Visualization (SoftVis), 2005.
What’s next?
Three trends to consider… 
Developers: 
solo coder -> social coder 
Software development: 
code centric -> data centric 
Visualization: 
standalone -> ubiquitous
Three trends to consider… 
Developers: 
solo coder -> social coder 
Software development: 
code centric -> data centric 
Visualization: 
standalone -> ubiquitous
“I know how this was done because I did it” 
“I need complete understanding” 
Peter Norvig, Coders at Work
“How is this likely done?” 
“Can I quickly get an understanding of what I need?” 
Peter Norvig, Coders at Work 
“Google 
team?”
Space Place 
P. Dourish and V. Bellotti. Awareness and Coordination in Shared Workspaces. Proceedings of 
the ACM Conference on Computer-Supported Cooperative Work (CSCW'92).
Developer tools… 
1968 1970 1980 1990 2000 2010
Nondigital Digital Digital & Socially Enabled 
Societies LinkedIn 
Documents 
Project 
Workbook 
Podcasts 
Coderwall 
Masterbranch 
Yammer 
Punchcards TFS 
Email 
Face2Face 
Telephone 
Email Lists 
VisualAge 
SourceForge 
Wikis 
Visual Studio 
NetBeans Eclipse 
IRC 
Meetups 
Basecamp 
Jazz 
ICQ Skype 
1968 1970 1980 1990 2000 2010 
Trello 
Campfire 
Google 
Hangouts 
Books Usenet 
Stack 
Overflow 
Twitter 
Google 
Groups 
Blogs 
GitHub 
Conferences 
Facebook 
Slashdot HackerNews 
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 Track, 36th International Conference on Software Engineering (ICSE 2014) Hyderabad.
Social Media and 
Participatory Cultures [Jenkins] 
Low barriers to artistic expression and engagement 
Strong support for sharing one’s creations 
Informal mentorship for novices 
Members believe their contributions matter 
Members care about social connections and what 
others think about their creations 
3
The Participatory Culture in 
Software Engineering is not new 
Internet and free/open source projects 
Linux and the bazaar model of programming 
Global software development (GSD) 
Historical importance of tools and the 
social shaping of communities 
4
Three trends to consider… 
Developers: 
solo coder -> social coder 
Software development: 
code centric -> data centric 
Visualization: 
standalone -> ubiquitous
Era of software analytics 
! 
Code centric -> (Big) Data centric 
User feedback -> usage logs, social media 
In lab testing -> large scale testing in the wild 
Centralized -> distributed development 
Long product cycle -> continuous releases 
! 
!
Quiz!!! Which code should I test! 
1. Which day of the week is likely to produce the 
buggiest code? Mon-Sun? 
! 
2. Who produces more buggy code? 
Junior or Senior Developers? 
! 
3. Which metrics are most useful in predicting defects? 
a. Lines of code, 
b. complexity of the code, 
c. number of developers that worked on the code, 
d. previous bugs in the code, or 
e. code churn
Software Analytics: A definition 
Software Analytics is to enable software 
practitioners to perform data exploration and 
analysis to obtain insightful and actionable 
information for data-driven tasks around 
software and services. 
Dongmei Zhang & Tao Xie, http://research.microsoft.com/en-us/groups/sa/ 
softwareanalyticsinpractice_minitutorial_icse2012.pdf
Goals of software analytics? 
To improve: 
- quality of the software 
- experience of the users 
- productivity of the developers 
! 
Dongmei Zhang & Tao Xie, http://research.microsoft.com/en-us/groups/sa/ 
softwareanalyticsinpractice_minitutorial_icse2012.pdf
Prolific data sources and 
analysis techniques 
Program data: runtime traces, program logs, 
system events, failure logs, performance… 
! 
User data: usage logs, user surveys, user 
forums, twitter and blogs, … 
! 
Development data: versions, bug data, 
commits, testing, communication
Need for actionable insights 
To support decision making 
“use data rather than fortune tellers” 
[A. Hassan] 
! 
! 
! 
But need more than data! 
! 
http://www.slideshare.net/taoxiease/software-analytics-towards-software-mining-that-matters
The need for visual analytics! 
Focus has been on: 
- acquiring/cleaning/managing the data 
- analytics 
- understanding which questions to ask… 
One of the key pillars to support software 
analytics is visualization [Zhang & Xie] 
Dongmei Zhang & Tao Xie, http://research.microsoft.com/en-us/groups/sa/ 
softwareanalyticsinpractice_minitutorial_icse2012.pdf
Three trends to consider… 
Developers: 
solo coder -> social coder 
Software development: 
code centric -> data centric 
Visualization: 
standalone -> ubiquitous
Recap: Why software visualization? 
Provide insights 
Answer questions 
Support wayfinding 
Tell stories 
Communicate knowledge, awareness 
! 
! 
! 
!
Visualization ubiquity 
Visual analytics (gain insights) 
Deep integration (cognitive support in context) 
Infographics (tell a story) 
Dashboards (awareness) 
!
Visualization ubiquity 
Visual analytics (gain insights) 
Deep integration (cognitive support in context) 
Infographics (tell a story) 
Dashboards (awareness) 
!
Visual analytics 
Information visualization process: 
overview, filter and zoom, details on demand 
! 
! 
vs 
! 
Visual analytics process: 
analyze first, show the important, zoom, filter 
and analyze further, details on demand
Visualization ubiquity 
Visual analytics (gain insights) 
Deep integration (cognitive support in context) 
Infographics (tell a story) 
Dashboards (awareness) 
!
Visual debugging: Debugger Canvas 
http://www.youtube.com/watch?v=3p9XUwIlhJg
Visualization for Software Analytics
Visualization ubiquity 
Visual analytics (gain insights) 
Deep integration (cognitive support in context) 
Infographics (tell a story) 
Dashboards (awareness) 
!
Infographics 
Tells a story, quickly 
Shared socially 
Interactive 
! 
Popular, accessible: visual.ly, Tableau Public 
! 
Examples: New York Times, Tagging, 
Stackoverflow, Twitter… 
!
http://www.nytimes.com/newsgraphics/2013/07/21/silk-road/
Tagging work items in 
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.
ConcernLines
http://githut.info
Coverage of API documentation: 77% of the 
Java API classes & 87% of Android API classes 
Speed of coverage: 
C. Parnin, C. Treude, L. Grammel and M.-A. Storey. Crowd Documentation: Exploring the Coverage and the Dynamics of API 
Discussions on Stack Overflow”. at http://blog.ninlabs.com/2012/05/crowd-documentation/ May 2012.
Crowd authored API documentation! 
http://latest-print.crowd-documentation.appspot.com/?api=android
http://graphoverflow.com
How developers use Twitter 
! 
Awareness 
Learning 
Relationships 
Why non-adoption 
Strategies 
“It was evolving way faster than I was 
able to keep up with it. And the only 
way to keep up was to follow some 
Node.js people on Twitter.” 
Leif Singer, Fernando Figueira Filho, Margaret-Anne Storey. Software Engineering at the Speed of Light: 
How Developers Stay Current Using Twitter ICSE 2014.
Sentiments on Twitter for: shellshock 
http://www.csc.ncsu.edu/faculty/healey/tweet_viz/tweet_app/
Visualization ubiquity 
Visual analytics (gain insights) 
Deep integration (cognitive support in context) 
Infographics (tell a story) 
Dashboards (awareness) 
!
Dashboards 
Awareness 
Making informed decisions 
Live data 
Business intelligence
Dashboards for developer awareness 
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.
Assessing and watching developers 
! 
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 Blog: http://to.leif.me/devprofiles
Recap… 
Developers: 
solo coder -> social coder 
Visualization for software analytics 
Software development: 
code centric -> data centric 
Visualization: 
standalone -> ubiquitous
Opportunities and challenges 
TL;DR 
! 
Mobile 
! 
Scale 
! 
Visualizations as social media 
! 
Visual software analytics should be 
actionable!
Visualize and share your research results! 
http://think.withgoogle.com/databoard/
Takeaways 
Software developers are the prototype 
knowledge workers of tomorrow 
! 
Software visualization has come of age: 
social coder 
software analytics 
ubiquitous visualization
Acknowledgements 
CHISEL group, UVic, Canada: 
– Christoph Treude 
– Brendan Cleary 
– Alexey Zagalsky 
– Peter Rigby 
– Lars Grammel 
– …… 
Chris Parnin, NCSU 
Leif Singer, I Done This 
Daniel German, UVic 
Arie van Deursen, TU Delft 
Fernando Figueira Filho, Brazil
Selected additional References 
Software visualization: 
Stasko, J. T., Brown, M. H. & Price, B. A. (Eds.) Software Visualization MIT Press, 1997 
Petre, M. "UML in practice," Proceedings of the 2013 International Conference on 
Software Engineering (ICSE), 2013, pp.722-731 
Blackwell, A., Britton, C., Cox, A., Green, T., Gurr, C., Kadoda, G., Kutar, M., Loomes, 
M., Nehaniv, C., Petre, M., Roast, C., Roe, C., Wong, A. & Young, "Cognitive 
Dimensions of Notations: Design Tools for Cognitive Technology Cognitive 
Technology: Instruments of Mind," Springer Berlin Heidelberg, 2001, vol.2117, pp. 
325-341 
DeLine, R., Bragdon, A., Rowan, K., Jacobsen, J., & Reiss, S. "Debugger canvas: 
industrial experience with the code bubbles paradigm," Proceedings of the 34th 
International Conference on Software Engineering (ICSE), 2012, pp.1064-1073. 
Bull, R. I. & Storey, M.-A. "Towards visualization support for the eclipse modeling 
framework," A Research-Industry Technology Exchange, 2005 
Cleary, B., Gorman, P., Verbeek, E., Storey, M.-A, Salois, M., Painchaud, F., 
"Reconstructing program memory state from multi-gigabyte instruction traces to 
support interactive analysis," 20th Working Conference on Reverse Engineering 
(WCRE), Oct. 2013, pp.42-51 
! 
!
Social coding: 
Communities of practice: http://www.ewenger.com/theory/ 
! 
C. Treude and M.-A. Storey. Effective Communication of Software Development 
Knowledge Through Community Portals. ESEC/FSE ’11. 
M.-A. Storey, C. Treude, A. van Deursen and L.-T. Cheng. The Impact of Social 
Media on Software Engineering Practices and Tools. In FoSER 
’10: Proceedings of the FSE/SDP workshop on Future of software engineering 
research. 
! 
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 Track, 36th International Conference on Software 
Engineering (ICSE 2014) Hyderabad, 2014 
! 
Begel, A., J. Bosch, and M.-A. Storey., Social Networking Meets Software 
Development: Perspectives from GitHub, MSDN, Stack Exchange, and 
TopCoder. Software, IEEE 30.1 (2013): 52-66. 
!!!!!
Software analytics: 
IEEE Software — two special issues on Software Analytics, July/August 2013 
Tao Xie’s tutorial on software analytics: http://www.slideshare.net/taoxiease/software-analytics- 
towards-software-mining-that-matters 
! 
Research methods: 
Easterbrook, S., Singer, J., Storey, M.-A. & Damian, D. "Selecting Empirical Methods for 
Software Engineering Research," Guide to Advanced Empirical Software Engineering, 
Springer London, 2008, pp.285-311 
Walenstein, A., "Observing and measuring cognitive support: steps toward systematic 
tool evaluation and engineering," 11th IEEE International Workshop on Program 
Comprehension (IWPC), 2003, pp.185-194 
Begel, A. & Zimmermann, T. "Analyze this! 145 questions for data scientists in software 
engineering," Proceedings of the 36th International Conference on Software 
Engineering (ICSE), 2014, pp.12-23. 
! 
Visual analytics: 
Illuminating the path: http://vis.pnnl.gov/pdf/RD_Agenda_VisualAnalytics.pdf 
Mark Smiciklas (2012). The Power of Infographics: Using Pictures to Communicate and 
Connect with Your Audience. 
!
Takeaways 
Software developers are the prototype 
knowledge workers of tomorrow 
! 
Software visualization has come of age: 
social coder 
software analytics 
ubiquitous visualization

More Related Content

What's hot (20)

PPTX
Data Wrangling_1.pptx
PallabiSahoo5
 
PDF
Data Visualization in Data Science
Maloy Manna, PMP®
 
KEY
HTML presentation for beginners
jeroenvdmeer
 
PPT
Metabase
Wagner Alves
 
PPTX
L attribute in compiler design
khush_boo31
 
PPTX
Tableau Prep.pptx
Venneladonthireddy1
 
PDF
Introduction to Data Science
Edureka!
 
DOCX
PHP NOTES FOR BEGGINERS
Aminiel Michael
 
PPS
Big Data Science: Intro and Benefits
Chandan Rajah
 
PPTX
Power BI as a storyteller
Berkovich Consulting
 
PDF
Introduction To Data Science
Spotle.ai
 
PPTX
Data Science With Python | Python For Data Science | Python Data Science Cour...
Simplilearn
 
PPTX
The Box Model [CSS Introduction]
Nicole Ryan
 
PPTX
Modeling with Document Database: 5 Key Patterns
Dan Sullivan, Ph.D.
 
PDF
Intro to Data Science for Non-Data Scientists
Sri Ambati
 
PDF
Client-side JavaScript
Lilia Sfaxi
 
PPT
ASP.NET 10 - Data Controls
Randy Connolly
 
PPTX
Introduction to data science
Sampath Kumar
 
PPTX
Data mining
Birju Tank
 
PDF
Introduction to Data Science
Christy Abraham Joy
 
Data Wrangling_1.pptx
PallabiSahoo5
 
Data Visualization in Data Science
Maloy Manna, PMP®
 
HTML presentation for beginners
jeroenvdmeer
 
Metabase
Wagner Alves
 
L attribute in compiler design
khush_boo31
 
Tableau Prep.pptx
Venneladonthireddy1
 
Introduction to Data Science
Edureka!
 
PHP NOTES FOR BEGGINERS
Aminiel Michael
 
Big Data Science: Intro and Benefits
Chandan Rajah
 
Power BI as a storyteller
Berkovich Consulting
 
Introduction To Data Science
Spotle.ai
 
Data Science With Python | Python For Data Science | Python Data Science Cour...
Simplilearn
 
The Box Model [CSS Introduction]
Nicole Ryan
 
Modeling with Document Database: 5 Key Patterns
Dan Sullivan, Ph.D.
 
Intro to Data Science for Non-Data Scientists
Sri Ambati
 
Client-side JavaScript
Lilia Sfaxi
 
ASP.NET 10 - Data Controls
Randy Connolly
 
Introduction to data science
Sampath Kumar
 
Data mining
Birju Tank
 
Introduction to Data Science
Christy Abraham Joy
 

Viewers also liked (20)

PPT
Towards the Social Programmer (MSR 2012 Keynote by M. Storey)
Margaret-Anne Storey
 
PDF
Benevol 2012 Keynote: The Social Software (R)evolution
Margaret-Anne Storey
 
PDF
The (R)evolution of Social Media in Software Engineering
Margaret-Anne Storey
 
PDF
FSE 2016 Panel: The State of Software Engineering Research
Margaret-Anne Storey
 
PDF
Research industry panel review
Margaret-Anne Storey
 
PPTX
SLE 2012 Keynote: Cognitive and Social Challenges of Ontology Use in the Biom...
Margaret-Anne Storey
 
PDF
How Developers Stay Current Using Twitter
Margaret-Anne Storey
 
PDF
Crowdsourcing Documentation in Software Engineering
Margaret-Anne Storey
 
PDF
Analytics for Software Development
Ray Buse
 
PDF
Why Use Analytics on Your Software
DeskMetrics
 
PDF
Information Needs for Software Development Analytics
Ray Buse
 
PDF
Analytics for software development
Thomas Zimmermann
 
PDF
Cascon 2016 Keynote: Disrupting Developer Productivity One Bot at a Time
Margaret-Anne Storey
 
PDF
Lies, Damned Lies and Software Analytics: Why Big Data Needs Rich Data
Margaret-Anne Storey
 
PDF
To Bot or Not: How Bots can Support Collaboration in Software Engineering (I...
Margaret-Anne Storey
 
PDF
Software Quality Visualization
STX Next
 
PDF
Perspectives on Software Visualization
Förderverein Technische Fakultät
 
PDF
Software Visualization Today - Systematic Literature Review
Mindtrek
 
PDF
A Pragmatic Perspective on Software Visualization
Arie van Deursen
 
PDF
Software Visualization 101+
Michele Lanza
 
Towards the Social Programmer (MSR 2012 Keynote by M. Storey)
Margaret-Anne Storey
 
Benevol 2012 Keynote: The Social Software (R)evolution
Margaret-Anne Storey
 
The (R)evolution of Social Media in Software Engineering
Margaret-Anne Storey
 
FSE 2016 Panel: The State of Software Engineering Research
Margaret-Anne Storey
 
Research industry panel review
Margaret-Anne Storey
 
SLE 2012 Keynote: Cognitive and Social Challenges of Ontology Use in the Biom...
Margaret-Anne Storey
 
How Developers Stay Current Using Twitter
Margaret-Anne Storey
 
Crowdsourcing Documentation in Software Engineering
Margaret-Anne Storey
 
Analytics for Software Development
Ray Buse
 
Why Use Analytics on Your Software
DeskMetrics
 
Information Needs for Software Development Analytics
Ray Buse
 
Analytics for software development
Thomas Zimmermann
 
Cascon 2016 Keynote: Disrupting Developer Productivity One Bot at a Time
Margaret-Anne Storey
 
Lies, Damned Lies and Software Analytics: Why Big Data Needs Rich Data
Margaret-Anne Storey
 
To Bot or Not: How Bots can Support Collaboration in Software Engineering (I...
Margaret-Anne Storey
 
Software Quality Visualization
STX Next
 
Perspectives on Software Visualization
Förderverein Technische Fakultät
 
Software Visualization Today - Systematic Literature Review
Mindtrek
 
A Pragmatic Perspective on Software Visualization
Arie van Deursen
 
Software Visualization 101+
Michele Lanza
 
Ad

Similar to Visualization for Software Analytics (20)

PPT
0329.emccormi.ppt
chmeghana1
 
PPT
Icpc 2011 storey
Margaret-Anne Storey
 
PDF
Past, Present, and Future of 3D Software Visualization - A Systematic Literat...
Richard Müller
 
PDF
2014 01-ticosa
Pharo
 
PDF
See through software
Matthew Mark Miller
 
PDF
Visualize your architecture at ITARC 2013
Peter Norrhall
 
PPTX
Charles Slicer-Watkinson - Subject Matter Expert, Seerene
Global Business Intelligence
 
PDF
Actionable Software Visualization (best paper award) VISSOFT 2016
Leonel Merino
 
PDF
Software Analytics: Data Analytics for Software Engineering
Tao Xie
 
PPT
Enabling Social Network Analysis in Distributed Collaborative Software Develo...
Hans-Joerg Happel
 
PDF
Designing with data
Pierrick Thébault
 
PPTX
software engineering history2.pptx
Mohamed Alashram
 
PDF
10 Hinweise für Architekten
adesso AG
 
PDF
Ten Advices for Architects
Eberhard Wolff
 
PDF
UW Presentation - Architecture Trade-off Analysis Method
Shrikant Palkar
 
PDF
Software engineering mca
Aman Adhikari
 
PPTX
Source code visualization (SourceViz)
Anas Bilal
 
PPTX
Mapping and visualization of source code a survey
Nakul Sharma
 
PPTX
Of Changes and Their History
University of Zurich
 
PPT
Demystifying Digital Scholarship Workshop 6 Slides
Paige Morgan
 
0329.emccormi.ppt
chmeghana1
 
Icpc 2011 storey
Margaret-Anne Storey
 
Past, Present, and Future of 3D Software Visualization - A Systematic Literat...
Richard Müller
 
2014 01-ticosa
Pharo
 
See through software
Matthew Mark Miller
 
Visualize your architecture at ITARC 2013
Peter Norrhall
 
Charles Slicer-Watkinson - Subject Matter Expert, Seerene
Global Business Intelligence
 
Actionable Software Visualization (best paper award) VISSOFT 2016
Leonel Merino
 
Software Analytics: Data Analytics for Software Engineering
Tao Xie
 
Enabling Social Network Analysis in Distributed Collaborative Software Develo...
Hans-Joerg Happel
 
Designing with data
Pierrick Thébault
 
software engineering history2.pptx
Mohamed Alashram
 
10 Hinweise für Architekten
adesso AG
 
Ten Advices for Architects
Eberhard Wolff
 
UW Presentation - Architecture Trade-off Analysis Method
Shrikant Palkar
 
Software engineering mca
Aman Adhikari
 
Source code visualization (SourceViz)
Anas Bilal
 
Mapping and visualization of source code a survey
Nakul Sharma
 
Of Changes and Their History
University of Zurich
 
Demystifying Digital Scholarship Workshop 6 Slides
Paige Morgan
 
Ad

More from Margaret-Anne Storey (11)

PDF
An Actionable Framework for Understanding and Improving Developer Experience
Margaret-Anne Storey
 
PDF
ASE Keynote 2022: From Automation to Empowering Software Developers
Margaret-Anne Storey
 
PDF
Software Bots as Superheroes in the SPACE of Developer Productivity
Margaret-Anne Storey
 
PDF
What does productivity mean to developers
Margaret-Anne Storey
 
PDF
After the Pandemic: Rethinking Developer Productivity (There’s more to it th...
Margaret-Anne Storey
 
PPTX
Icse 2020 bof reviewing papers
Margaret-Anne Storey
 
PPTX
Towards a Theory of Developer Satisfaction and Productivity
Margaret-Anne Storey
 
PDF
Publish or Perish: Questioning the Impact of Our Research on the Software Dev...
Margaret-Anne Storey
 
PDF
Using a Visual Abstract as a Lens for Communicating and Promoting Design Scie...
Margaret-Anne Storey
 
PDF
The Elusive Nature of Software Documentation
Margaret-Anne Storey
 
PDF
ICSE 2011: Research industry panel
Margaret-Anne Storey
 
An Actionable Framework for Understanding and Improving Developer Experience
Margaret-Anne Storey
 
ASE Keynote 2022: From Automation to Empowering Software Developers
Margaret-Anne Storey
 
Software Bots as Superheroes in the SPACE of Developer Productivity
Margaret-Anne Storey
 
What does productivity mean to developers
Margaret-Anne Storey
 
After the Pandemic: Rethinking Developer Productivity (There’s more to it th...
Margaret-Anne Storey
 
Icse 2020 bof reviewing papers
Margaret-Anne Storey
 
Towards a Theory of Developer Satisfaction and Productivity
Margaret-Anne Storey
 
Publish or Perish: Questioning the Impact of Our Research on the Software Dev...
Margaret-Anne Storey
 
Using a Visual Abstract as a Lens for Communicating and Promoting Design Scie...
Margaret-Anne Storey
 
The Elusive Nature of Software Documentation
Margaret-Anne Storey
 
ICSE 2011: Research industry panel
Margaret-Anne Storey
 

Recently uploaded (20)

PPTX
Avast Premium Security crack 25.5.6162 + License Key 2025
HyperPc soft
 
PDF
Power BI vs Tableau vs Looker - Which BI Tool is Right for You?
MagnusMinds IT Solution LLP
 
PDF
Automated Test Case Repair Using Language Models
Lionel Briand
 
PDF
Rewards and Recognition (2).pdf
ethan Talor
 
PDF
WholeClear Split vCard Software for Split large vCard file
markwillsonmw004
 
PPTX
For my supp to finally picking supp that work
necas19388
 
PDF
From Chaos to Clarity: Mastering Analytics Governance in the Modern Enterprise
Wiiisdom
 
PPTX
Iobit Driver Booster Pro 12 Crack Free Download
chaudhryakashoo065
 
PDF
Building scalbale cloud native apps with .NET 8
GillesMathieu10
 
PPTX
IDM Crack with Internet Download Manager 6.42 [Latest 2025]
HyperPc soft
 
PPTX
computer forensics encase emager app exp6 1.pptx
ssuser343e92
 
PPTX
Introduction to web development | MERN Stack
JosephLiyon
 
PDF
AWS Consulting Services: Empowering Digital Transformation with Nlineaxis
Nlineaxis IT Solutions Pvt Ltd
 
PDF
>Nitro Pro Crack 14.36.1.0 + Keygen Free Download [Latest]
utfefguu
 
PDF
TEASMA: A Practical Methodology for Test Adequacy Assessment of Deep Neural N...
Lionel Briand
 
PPTX
Automatic_Iperf_Log_Result_Excel_visual_v2.pptx
Chen-Chih Lee
 
PDF
Alur Perkembangan Software dan Jaringan Komputer
ssuser754303
 
PPTX
CV-Project_2024 version 01222222222.pptx
MohammadSiddiqui70
 
PPTX
Seamless-Image-Conversion-From-Raster-to-wrt-rtx-rtx.pptx
Quick Conversion Services
 
PDF
capitulando la keynote de GrafanaCON 2025 - Madrid
Imma Valls Bernaus
 
Avast Premium Security crack 25.5.6162 + License Key 2025
HyperPc soft
 
Power BI vs Tableau vs Looker - Which BI Tool is Right for You?
MagnusMinds IT Solution LLP
 
Automated Test Case Repair Using Language Models
Lionel Briand
 
Rewards and Recognition (2).pdf
ethan Talor
 
WholeClear Split vCard Software for Split large vCard file
markwillsonmw004
 
For my supp to finally picking supp that work
necas19388
 
From Chaos to Clarity: Mastering Analytics Governance in the Modern Enterprise
Wiiisdom
 
Iobit Driver Booster Pro 12 Crack Free Download
chaudhryakashoo065
 
Building scalbale cloud native apps with .NET 8
GillesMathieu10
 
IDM Crack with Internet Download Manager 6.42 [Latest 2025]
HyperPc soft
 
computer forensics encase emager app exp6 1.pptx
ssuser343e92
 
Introduction to web development | MERN Stack
JosephLiyon
 
AWS Consulting Services: Empowering Digital Transformation with Nlineaxis
Nlineaxis IT Solutions Pvt Ltd
 
>Nitro Pro Crack 14.36.1.0 + Keygen Free Download [Latest]
utfefguu
 
TEASMA: A Practical Methodology for Test Adequacy Assessment of Deep Neural N...
Lionel Briand
 
Automatic_Iperf_Log_Result_Excel_visual_v2.pptx
Chen-Chih Lee
 
Alur Perkembangan Software dan Jaringan Komputer
ssuser754303
 
CV-Project_2024 version 01222222222.pptx
MohammadSiddiqui70
 
Seamless-Image-Conversion-From-Raster-to-wrt-rtx-rtx.pptx
Quick Conversion Services
 
capitulando la keynote de GrafanaCON 2025 - Madrid
Imma Valls Bernaus
 

Visualization for Software Analytics

  • 1. Visualization for Software Analytics Margaret-Anne (Peggy) Storey @margaretstorey #vissoft14 #icsme14 @margaretstorey #vis4se
  • 2. Why visualization? Provide insights Answer questions Support wayfinding Tell stories Communicate knowledge, awareness ! ! ! !
  • 6. Code, dependencies http://thechiselgroup.org/2005/07/06/zest/ http://swerl.tudelft.nl/bin/view/Main/ExTraVis
  • 7. Dynamic behaviour Cleary, B., Storey, M., Chan, L., Salois, M., Painchaud, F., "ATLANTIS - Assembly Trace Analysis Environment," Working Conference on Reverse Engineering (WCRE), 2012. http://hapao.dcc.uchile.cl
  • 8. Architecture Wettel, R. & Lanza, M. "CodeCity: 3D visualization of large-scale software,” (ICSE Companion '08), 2008 Creole: http://thechiselgroup.org/ 2003/07/06/creole/
  • 9. Gourse: visualizing commits Human activities
  • 11. ADOPTION Lessons learned? THEORIES METHODS FLOW USERS TASKS
  • 12. Diver: Myers, D. & Storey, M. "Focusing on Execution Traces Using Diver," 18th Working Conference on Reverse Engineering (WCRE), 2011, pp.439-440
  • 13. A theory of cognitive support for Diver…
  • 14. Framework… Dimensions Characteristics Elements Intent Role Team, Developer, Manager, Researcher, Maintainer, Reengineer Time Present, Recent Past, Historical Authorship Authorship, Rationale, Time, Artifacts Information Change management Local History, Releases, Releases, Branching, Revisions Defect tracking Defects, Changes Program code Modules/components, Syntactic units (e.g. files), Semantic analysis Documentation Requirements, Design, Test cases, Architecture Informal communication Email, Instant messages Derived/Aggregated Single source, multiple source Presentation Form Text, Hypertext, Graphical Kinds of views Annotated views, Statistical views, Graph views, Special views Techniques Visual variables (colour, position etc), Animation, 2D/3D Interaction Batch/Live Offline, Online, Customizable Customization Level of customization, sharing and saving customizations Queries Query language, Visual queries, Filter widgets View navigation Multiple views, Overview+detail, Zoomable views, Coupled Effectiveness System Implemented, Availability, Scalability, Interoperability Cost Economic cost, Installation, Learning, Usage Evaluation Adopted, Case study, User study Storey, M.-A. & Cubranic, D. & German, D. M. "On the use of visualization to support awareness of human activities in software development: a survey and a framework," ACM symposium on Software Visualization (SoftVis), 2005.
  • 16. Three trends to consider… Developers: solo coder -> social coder Software development: code centric -> data centric Visualization: standalone -> ubiquitous
  • 17. Three trends to consider… Developers: solo coder -> social coder Software development: code centric -> data centric Visualization: standalone -> ubiquitous
  • 18. “I know how this was done because I did it” “I need complete understanding” Peter Norvig, Coders at Work
  • 19. “How is this likely done?” “Can I quickly get an understanding of what I need?” Peter Norvig, Coders at Work “Google team?”
  • 20. Space Place P. Dourish and V. Bellotti. Awareness and Coordination in Shared Workspaces. Proceedings of the ACM Conference on Computer-Supported Cooperative Work (CSCW'92).
  • 21. Developer tools… 1968 1970 1980 1990 2000 2010
  • 22. Nondigital Digital Digital & Socially Enabled Societies LinkedIn Documents Project Workbook Podcasts Coderwall Masterbranch Yammer Punchcards TFS Email Face2Face Telephone Email Lists VisualAge SourceForge Wikis Visual Studio NetBeans Eclipse IRC Meetups Basecamp Jazz ICQ Skype 1968 1970 1980 1990 2000 2010 Trello Campfire Google Hangouts Books Usenet Stack Overflow Twitter Google Groups Blogs GitHub Conferences Facebook Slashdot HackerNews 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 Track, 36th International Conference on Software Engineering (ICSE 2014) Hyderabad.
  • 23. Social Media and Participatory Cultures [Jenkins] Low barriers to artistic expression and engagement Strong support for sharing one’s creations Informal mentorship for novices Members believe their contributions matter Members care about social connections and what others think about their creations 3
  • 24. The Participatory Culture in Software Engineering is not new Internet and free/open source projects Linux and the bazaar model of programming Global software development (GSD) Historical importance of tools and the social shaping of communities 4
  • 25. Three trends to consider… Developers: solo coder -> social coder Software development: code centric -> data centric Visualization: standalone -> ubiquitous
  • 26. Era of software analytics ! Code centric -> (Big) Data centric User feedback -> usage logs, social media In lab testing -> large scale testing in the wild Centralized -> distributed development Long product cycle -> continuous releases ! !
  • 27. Quiz!!! Which code should I test! 1. Which day of the week is likely to produce the buggiest code? Mon-Sun? ! 2. Who produces more buggy code? Junior or Senior Developers? ! 3. Which metrics are most useful in predicting defects? a. Lines of code, b. complexity of the code, c. number of developers that worked on the code, d. previous bugs in the code, or e. code churn
  • 28. Software Analytics: A definition Software Analytics is to enable software practitioners to perform data exploration and analysis to obtain insightful and actionable information for data-driven tasks around software and services. Dongmei Zhang & Tao Xie, http://research.microsoft.com/en-us/groups/sa/ softwareanalyticsinpractice_minitutorial_icse2012.pdf
  • 29. Goals of software analytics? To improve: - quality of the software - experience of the users - productivity of the developers ! Dongmei Zhang & Tao Xie, http://research.microsoft.com/en-us/groups/sa/ softwareanalyticsinpractice_minitutorial_icse2012.pdf
  • 30. Prolific data sources and analysis techniques Program data: runtime traces, program logs, system events, failure logs, performance… ! User data: usage logs, user surveys, user forums, twitter and blogs, … ! Development data: versions, bug data, commits, testing, communication
  • 31. Need for actionable insights To support decision making “use data rather than fortune tellers” [A. Hassan] ! ! ! But need more than data! ! http://www.slideshare.net/taoxiease/software-analytics-towards-software-mining-that-matters
  • 32. The need for visual analytics! Focus has been on: - acquiring/cleaning/managing the data - analytics - understanding which questions to ask… One of the key pillars to support software analytics is visualization [Zhang & Xie] Dongmei Zhang & Tao Xie, http://research.microsoft.com/en-us/groups/sa/ softwareanalyticsinpractice_minitutorial_icse2012.pdf
  • 33. Three trends to consider… Developers: solo coder -> social coder Software development: code centric -> data centric Visualization: standalone -> ubiquitous
  • 34. Recap: Why software visualization? Provide insights Answer questions Support wayfinding Tell stories Communicate knowledge, awareness ! ! ! !
  • 35. Visualization ubiquity Visual analytics (gain insights) Deep integration (cognitive support in context) Infographics (tell a story) Dashboards (awareness) !
  • 36. Visualization ubiquity Visual analytics (gain insights) Deep integration (cognitive support in context) Infographics (tell a story) Dashboards (awareness) !
  • 37. Visual analytics Information visualization process: overview, filter and zoom, details on demand ! ! vs ! Visual analytics process: analyze first, show the important, zoom, filter and analyze further, details on demand
  • 38. Visualization ubiquity Visual analytics (gain insights) Deep integration (cognitive support in context) Infographics (tell a story) Dashboards (awareness) !
  • 39. Visual debugging: Debugger Canvas http://www.youtube.com/watch?v=3p9XUwIlhJg
  • 41. Visualization ubiquity Visual analytics (gain insights) Deep integration (cognitive support in context) Infographics (tell a story) Dashboards (awareness) !
  • 42. Infographics Tells a story, quickly Shared socially Interactive ! Popular, accessible: visual.ly, Tableau Public ! Examples: New York Times, Tagging, Stackoverflow, Twitter… !
  • 44. Tagging work items in 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.
  • 47. Coverage of API documentation: 77% of the Java API classes & 87% of Android API classes Speed of coverage: C. Parnin, C. Treude, L. Grammel and M.-A. Storey. Crowd Documentation: Exploring the Coverage and the Dynamics of API Discussions on Stack Overflow”. at http://blog.ninlabs.com/2012/05/crowd-documentation/ May 2012.
  • 48. Crowd authored API documentation! http://latest-print.crowd-documentation.appspot.com/?api=android
  • 50. How developers use Twitter ! Awareness Learning Relationships Why non-adoption Strategies “It was evolving way faster than I was able to keep up with it. And the only way to keep up was to follow some Node.js people on Twitter.” Leif Singer, Fernando Figueira Filho, Margaret-Anne Storey. Software Engineering at the Speed of Light: How Developers Stay Current Using Twitter ICSE 2014.
  • 51. Sentiments on Twitter for: shellshock http://www.csc.ncsu.edu/faculty/healey/tweet_viz/tweet_app/
  • 52. Visualization ubiquity Visual analytics (gain insights) Deep integration (cognitive support in context) Infographics (tell a story) Dashboards (awareness) !
  • 53. Dashboards Awareness Making informed decisions Live data Business intelligence
  • 54. Dashboards for developer awareness 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.
  • 55. Assessing and watching developers ! 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 Blog: http://to.leif.me/devprofiles
  • 56. Recap… Developers: solo coder -> social coder Visualization for software analytics Software development: code centric -> data centric Visualization: standalone -> ubiquitous
  • 57. Opportunities and challenges TL;DR ! Mobile ! Scale ! Visualizations as social media ! Visual software analytics should be actionable!
  • 58. Visualize and share your research results! http://think.withgoogle.com/databoard/
  • 59. Takeaways Software developers are the prototype knowledge workers of tomorrow ! Software visualization has come of age: social coder software analytics ubiquitous visualization
  • 60. Acknowledgements CHISEL group, UVic, Canada: – Christoph Treude – Brendan Cleary – Alexey Zagalsky – Peter Rigby – Lars Grammel – …… Chris Parnin, NCSU Leif Singer, I Done This Daniel German, UVic Arie van Deursen, TU Delft Fernando Figueira Filho, Brazil
  • 61. Selected additional References Software visualization: Stasko, J. T., Brown, M. H. & Price, B. A. (Eds.) Software Visualization MIT Press, 1997 Petre, M. "UML in practice," Proceedings of the 2013 International Conference on Software Engineering (ICSE), 2013, pp.722-731 Blackwell, A., Britton, C., Cox, A., Green, T., Gurr, C., Kadoda, G., Kutar, M., Loomes, M., Nehaniv, C., Petre, M., Roast, C., Roe, C., Wong, A. & Young, "Cognitive Dimensions of Notations: Design Tools for Cognitive Technology Cognitive Technology: Instruments of Mind," Springer Berlin Heidelberg, 2001, vol.2117, pp. 325-341 DeLine, R., Bragdon, A., Rowan, K., Jacobsen, J., & Reiss, S. "Debugger canvas: industrial experience with the code bubbles paradigm," Proceedings of the 34th International Conference on Software Engineering (ICSE), 2012, pp.1064-1073. Bull, R. I. & Storey, M.-A. "Towards visualization support for the eclipse modeling framework," A Research-Industry Technology Exchange, 2005 Cleary, B., Gorman, P., Verbeek, E., Storey, M.-A, Salois, M., Painchaud, F., "Reconstructing program memory state from multi-gigabyte instruction traces to support interactive analysis," 20th Working Conference on Reverse Engineering (WCRE), Oct. 2013, pp.42-51 ! !
  • 62. Social coding: Communities of practice: http://www.ewenger.com/theory/ ! C. Treude and M.-A. Storey. Effective Communication of Software Development Knowledge Through Community Portals. ESEC/FSE ’11. M.-A. Storey, C. Treude, A. van Deursen and L.-T. Cheng. The Impact of Social Media on Software Engineering Practices and Tools. In FoSER ’10: Proceedings of the FSE/SDP workshop on Future of software engineering research. ! 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 Track, 36th International Conference on Software Engineering (ICSE 2014) Hyderabad, 2014 ! Begel, A., J. Bosch, and M.-A. Storey., Social Networking Meets Software Development: Perspectives from GitHub, MSDN, Stack Exchange, and TopCoder. Software, IEEE 30.1 (2013): 52-66. !!!!!
  • 63. Software analytics: IEEE Software — two special issues on Software Analytics, July/August 2013 Tao Xie’s tutorial on software analytics: http://www.slideshare.net/taoxiease/software-analytics- towards-software-mining-that-matters ! Research methods: Easterbrook, S., Singer, J., Storey, M.-A. & Damian, D. "Selecting Empirical Methods for Software Engineering Research," Guide to Advanced Empirical Software Engineering, Springer London, 2008, pp.285-311 Walenstein, A., "Observing and measuring cognitive support: steps toward systematic tool evaluation and engineering," 11th IEEE International Workshop on Program Comprehension (IWPC), 2003, pp.185-194 Begel, A. & Zimmermann, T. "Analyze this! 145 questions for data scientists in software engineering," Proceedings of the 36th International Conference on Software Engineering (ICSE), 2014, pp.12-23. ! Visual analytics: Illuminating the path: http://vis.pnnl.gov/pdf/RD_Agenda_VisualAnalytics.pdf Mark Smiciklas (2012). The Power of Infographics: Using Pictures to Communicate and Connect with Your Audience. !
  • 64. Takeaways Software developers are the prototype knowledge workers of tomorrow ! Software visualization has come of age: social coder software analytics ubiquitous visualization