SlideShare a Scribd company logo
1 of 45
Download to read offline
software evolution & architecture lab

Replication and Benchmarking 

in Software Analytics
Harald Gall
University of Zurich, Switzerland

http:/
/seal.ifi.uzh.ch

@ BENEVOL, Mons, 17 Dec 2013
Panel @ ESEC/FSE 2013
The Screening Plant of a SW Miner
SQA Mashup Teaser
Roadmap for the talk
‣

Challenges of Software Mining Studies


‣

Mining Studies: Where are we now?

!

‣

‣

Software Analytics: Replication and
Benchmarking

An Infrastructure for Software Analytics
I. Challenges of 

Software Mining Studies

software evolution & architecture lab
Which data sources?
‣

Evolution analysis data repositories à la PROMISE

‣
‣

‣

Flossmole, Sourcerer, Ultimate Debian DB

Provide benchmark (raw) data


Interactive online web platforms that provide
various analyses

‣
‣

Analyses offered by design 


‣

‣

Boa, FOSSology, Alitheia core, Ohloh

Data produced is best used within the system


Industrial project data (not widely accessible)
What kind of studies?
‣

Source code

‣
‣

‣

Which entities co-evolve/co-change?

How to identify code smells or design disharmonies?


Bugs and changes

‣
‣

When do changes induce fixes?


‣

‣

Who should / how long will it take to fix this bug?

Predicting bugs and their components?


Project and process

‣

Do code and comments co-evolve?


‣

Who are the experts of a piece of code?
Example: Bug Prediction
Using Code Churn vs.
Fine-Grained Changes

Predicting the 

Types of Code Changes

Predicting the
Method

Using the Gini Coefficient
for Bug Prediction

Using developer networks
for Bug Prediction
9
Performance of bug prediction
• Learn a prediction model
from historic data


Predictor

• Predict defects for the
same project

• Hundreds of prediction
models / learners exist

• Models work fairly well
with precision and recall of
up to 80%.

Precision

Recall

Pre-­‐Release	
  Bugs

73.80%

62.90%

Test	
  Coverage

83.80%

54.40%

Dependencies

74.40%

69.90%

Code	
  Complexity

79.30%

66.00%

Code	
  Churn

78.60%

79.90%

Org.	
  Structure

86.20%

84.00%

From:	
  N.	
  Nagappan,	
  B.	
  Murphy,	
  and	
  V.	
  Basili.	
  The	
  influence	
  of	
  
organizaonal	
  structure	
  on	
  so@ware	
  quality.	
  ICSE	
  2008.
Example: Code Ownership

C. Bird, N. Nagappan, B. Murphy, H. Gall, P Devanbu, Don't touch my code!
Examining the effects of ownership on software quality, ESEC/FSE ’11
Actionable Findings
‣

‣

‣

“Changes made by minor contributors should
be reviewed with more scrutiny.” 

“Potential minor contributors should
communicate desired changes to developers
experienced with the respective binary.”

“Components with low ownership should be
given priority by QA.”
C. Bird, N. Nagappan, B. Murphy, H. Gall, P Devanbu, Don't touch my code!
Examining the effects of ownership on software quality, ESEC/FSE ’11
Studies and Issues
‣

‣

Bug predictions do work, cross-project
predictions do not really work 

Data sets (systems) need to be “harmonized”

!

‣

Open issues:


‣

Replicability of studies


‣

Benchmarks to be established
II. Software Mining Studies: 

Where are we now?

software evolution  architecture lab
Nature of Studies
‣

Replication

‣

Less than 20% can be replicated, from all the empirical
studies published in MSR 2004-2009

[G. Robles: Replicating MSR: A study of the potential replicability of papers
published in the Mining Software Repositories proceedings. MSR 2010]


‣

Data availability

‣

‣

‣

Raw data for OSS is easily available straight from publicly
available sources

(Pre)Processed data is not yet widely available


Data preparation / tailoring to stakeholders
Performance/Time variance
‣

‣

‣

Bug prediction
performance varies
over time

OpenOffice
2001-2008 

monthly slices

!

‣

conceptual drift!


‣

phases of stability!

J. Ekanayake, J. Tappolet, H. Gall, A. Bernstein, Time variance and defect prediction in software projects, 

Empirical Software Engineering, Vol. 17 (4-5), 2012
III. Software Analytics:

Where to go from here?

software evolution  architecture lab
What is missing?
‣

Replication


‣

Large-scale comparative studies 


‣

Preprocessing and Learners


‣

Calibration


‣

Benchmarking


‣

Line up of essential questions


‣

Adopting technologies from other fields
Replicability Evaluation
‣

Mining Studies of MSR 2004 - 2011 

‣
‣

‣

84 (49%) experimental/empirical studies

88 (51%) non-experimental studies (new methods, tools,
case studies, visualizations, etc.)


Studies classified into 6 categories and manually
checked if they can be replicated with SOFAS:

Version History Mining, History Mining, 

Change Analysis, Social Networks and People, 

Defect Analysis, Bug Prediction
possible. Conceptual replication is when the experimental procedure is not followed
strictly, but the same research questions or hypotheses are evaluated, e.g. different
tools/algorithms are used or some of the variables are changed [32]. In this paper, we
did not distinguish between exact and conceptual replication. A study was considered
replicable whenever it could be replicated, either conceptually or exactly replicate,
using a service or a combination of services currently available in SOFAS .

MSR Replication with SOFAS

Research category
Version
History
Mining
History Mining
Change Analysis
Social Networks
and People
Defect Analysis
Bug Prediction

Number
papers
8 (9%)

of

Fully replicable
papers
4

Partially replicable papers
0

Non replicable
papers
4

17 (20%)
13 (15%)
19 (22%)

0
5
6

8
6
5

9
2
8

19 (22%)
8 (9%)
88
84 (100%)

8
2
25 (30%)

6
2
27 (32%)

5
4
32 (38%)

Table 1 The results of the replicability evaluation.

The results of such replicability assessment are reported in Table 1. The level of
replicability is spread quite evenly across the different research categories and there
Replicability
‣

‣

‣

Full replication: 30% of the studies can be
fully replicated out of the box

Partial replication: 32% of the studies can be
partially replicated

As evaluation, we fully replicated 

“Do time of day and developer experience
affect commit bugginess?” 

by J. Eyolfson, L. Tan and P. Lam, MSR 2011
The replication of the study
‣

‣

We replicate the study to verify the 4 main
findings

We extend the study by testing the findings
for additional OSS projects: 

‣

‣

Apache HTTP, Subversion, and VLC


We analyze the results

‣
‣

Do we achieve the same results?

Can the original conclusions also be drawn for the
additionally investigated projects?
Analysis Workflow
Replication results /1
Percentage of buggy commits

‣

‣

We confirmed the results of the original study with slight
differences (different heuristic and date of analysis)

The additional projects exhibit similar values (22-28%)

Original Study
Extended Study

Linux
PostgreSQL
Apache Http Server
Subversion
VLC

# commits
268820
38978
30701
47724
47355

# bug-introducing commits
68010 (25%)
9354 (24%)
8596 (28%)
12408 (26%)
10418 (22%)

TABLE II

# bug-fixing commits
68450
8410
7802
10605
10608

S MALL SUMMARY OF THE CHARACTERISTICS OF THE ANALYZED PROJECTS

mmits

‣

40
35
Replication results /2

‣

Influence of time of the day

‣
‣

We confirmed the results of the original study

The amount of buggy commits are particularly high
between midnight and 4 AM and tends to then drop below
average (morning and/or early afternoon)

!

‣

Windows of low bugginess greatly vary between projects


‣

Commit bugginess follows very different patterns
Replication results /3
‣

Influence of developer

‣

‣

‣

We confirmed the results of the original study

A drop in commit bugginess is evident with the increasing
amount of time a developer has spent on a project


Influence of day of the week

‣

We confirmed the results of the original study


‣

Different weekly patterns in the additional projects
Interpretation of results
‣

Feasibility

‣

‣

‣

We can replicate 30% of the analyzed studies and
compute the ground data needed for another 32% 

The studies we can replicate all use historical data
extracted from different repositories


Scalability

‣
‣

‣

The approach can scale up to very many of projects

Once the analysis workflow is defined, it can be
automatically run with different project repositories

Still, limitation is total execution time (Apache HTTP ~
8 hrs)
Interpretation of results
‣

Extensibility

‣
‣

‣

We only focused on the replication of existing studies

The results and ground data produced by SOFAS
analyses can be fed to other services, used by thirdparty analyses and tools or combined with data from
other sources.

Do time of day, developer experience and file ownership
affect commit bugginess?

‣

e.g. taking into account code ownership measured using the Gini
coefficient [Giger, 2011]
To get to the next level ...
‣

‣

‣

‣

Support for replicability
 systematic analysis
workflows

Calibration of data
preprocessing

Performance measures
 performance criteria
for studies

Conclusion stability of
studies
IV. Replicating Software Mining 

Studies with SOFAS

software evolution  architecture lab
SOFtware Analysis Services
‣

SOFAS = RESTful service platform by G. Ghezzi


‣

using software evolution ontologies


‣

enabling the composition of analysis workflows


‣

http:/
/www.ifi.uzh.ch/seal/research/tools/sofas.html
software evolution  architecture lab
Current SOFAS services
‣

Data Gatherers

‣
‣

‣

Version history extractor for CVS, SVN, GIT, and Mercurial

Issue tracking history for Bugzilla, Trac, SourceForge, Jira


Basic Services

‣
‣

Change coupling, change type analyses


‣

Issue-revision linker


‣

‣

Meta-model extractors for Java and C# (FAMIX)


Metrics service


Composite services

‣

Evolutionary hot-spots


‣

Highly changing Code Clones


‣

and many more ...
software evolution  architecture lab
Demo!

software evolution  architecture lab
V. Mashing Up Software Analytics 

Data for Stakeholders

software evolution  architecture lab
Multiple Stakeholder Mining
‣

We need to tailor information to the information
needs of stakeholders, such as developers,
testers, project managers, or quality analysts

‣

‣

study their needs beyond typical developer needs
‘questions developers ask’ by Sillito et al.)

devise prototypes to elicit that 

information needs, for example, 

SQA-Mashup for Integrating 

Quality Data
SQA-Mashup
‣

A Mashup of Software Project data

‣
‣

all in mashups, integrated, easy to access


‣

‣

commit  issue  build  test data

however, filtered to the information needs of stakeholders


Most recent paper

‣

‣

Martin Brandtner, Emanuel Giger, Harald Gall, Supporting
Continuous Integration by Mashing-Up Software Quality
Information, CSMR-WCRE 2014, Antwerp, Belgium


Available in Win 8 App Store

‣

http:/
/goo.gl/ZUWrvm
A Developer’s view
A Tester’s view
A project timeline
Mashup pipe configuration
VI. Conclusions

software evolution  architecture lab
Workflows  Mashups
Merry Christmas!

More Related Content

What's hot

Using HPC Resources to Exploit Big Data for Code Review Analytics
Using HPC Resources to Exploit Big Data for Code Review AnalyticsUsing HPC Resources to Exploit Big Data for Code Review Analytics
Using HPC Resources to Exploit Big Data for Code Review AnalyticsThe University of Adelaide
 
Implications of Open Source Software Use (or Let's Talk Open Source)
Implications of Open Source Software Use (or Let's Talk Open Source)Implications of Open Source Software Use (or Let's Talk Open Source)
Implications of Open Source Software Use (or Let's Talk Open Source)Gail Murphy
 
Review Participation in Modern Code Review: An Empirical Study of the Android...
Review Participation in Modern Code Review: An Empirical Study of the Android...Review Participation in Modern Code Review: An Empirical Study of the Android...
Review Participation in Modern Code Review: An Empirical Study of the Android...The University of Adelaide
 
Investigating Code Review Practices in Defective Files
Investigating Code Review Practices in Defective FilesInvestigating Code Review Practices in Defective Files
Investigating Code Review Practices in Defective FilesThe University of Adelaide
 
Ph.D. Thesis Defense: Studying Reviewer Selection and Involvement in Modern ...
Ph.D. Thesis Defense:  Studying Reviewer Selection and Involvement in Modern ...Ph.D. Thesis Defense:  Studying Reviewer Selection and Involvement in Modern ...
Ph.D. Thesis Defense: Studying Reviewer Selection and Involvement in Modern ...The University of Adelaide
 
Proactive Empirical Assessment of New Language Feature Adoption via Automated...
Proactive Empirical Assessment of New Language Feature Adoption via Automated...Proactive Empirical Assessment of New Language Feature Adoption via Automated...
Proactive Empirical Assessment of New Language Feature Adoption via Automated...Raffi Khatchadourian
 
Revisiting Code Ownership and Its Relationship with Software Quality in the S...
Revisiting Code Ownership and Its Relationship with Software Quality in the S...Revisiting Code Ownership and Its Relationship with Software Quality in the S...
Revisiting Code Ownership and Its Relationship with Software Quality in the S...The University of Adelaide
 
Unlocking Software Testing Circa 2016
Unlocking Software Testing Circa 2016Unlocking Software Testing Circa 2016
Unlocking Software Testing Circa 2016MentorMate
 
Advantages and Disadvantages of a Monolithic Repository
Advantages and Disadvantages of a Monolithic RepositoryAdvantages and Disadvantages of a Monolithic Repository
Advantages and Disadvantages of a Monolithic Repositorymustafa sarac
 
Is Text Search an Effective Approach for Fault Localization: A Practitioners ...
Is Text Search an Effective Approach for Fault Localization: A Practitioners ...Is Text Search an Effective Approach for Fault Localization: A Practitioners ...
Is Text Search an Effective Approach for Fault Localization: A Practitioners ...Debdoot Mukherjee
 
A Large-Scale Empirical Comparison of Static and DynamicTest Case Prioritizat...
A Large-Scale Empirical Comparison of Static and DynamicTest Case Prioritizat...A Large-Scale Empirical Comparison of Static and DynamicTest Case Prioritizat...
A Large-Scale Empirical Comparison of Static and DynamicTest Case Prioritizat...Kevin Moran
 
Improving Code Review Effectiveness Through Reviewer Recommendations
Improving Code Review Effectiveness Through Reviewer RecommendationsImproving Code Review Effectiveness Through Reviewer Recommendations
Improving Code Review Effectiveness Through Reviewer RecommendationsThe University of Adelaide
 
Software Analytics: Towards Software Mining that Matters
Software Analytics: Towards Software Mining that MattersSoftware Analytics: Towards Software Mining that Matters
Software Analytics: Towards Software Mining that MattersTao Xie
 
ISEC'18 Keynote: Intelligent Software Engineering: Synergy between AI and Sof...
ISEC'18 Keynote: Intelligent Software Engineering: Synergy between AI and Sof...ISEC'18 Keynote: Intelligent Software Engineering: Synergy between AI and Sof...
ISEC'18 Keynote: Intelligent Software Engineering: Synergy between AI and Sof...Tao Xie
 
Generation of Search Based Test Data on Acceptability Testing Principle
Generation of Search Based Test Data on Acceptability Testing PrincipleGeneration of Search Based Test Data on Acceptability Testing Principle
Generation of Search Based Test Data on Acceptability Testing Principleiosrjce
 
A Novel Agent Oriented Methodology – Styx Methodology
A Novel Agent Oriented Methodology – Styx MethodologyA Novel Agent Oriented Methodology – Styx Methodology
A Novel Agent Oriented Methodology – Styx MethodologyIJCSIS Research Publications
 
Requirements driven Model-based Testing
Requirements driven Model-based TestingRequirements driven Model-based Testing
Requirements driven Model-based TestingDharmalingam Ganesan
 
Automated Traceability for Software Engineering Tasks
Automated Traceability for Software Engineering TasksAutomated Traceability for Software Engineering Tasks
Automated Traceability for Software Engineering TasksDharmalingam Ganesan
 
The (Un) Expected Impact of Tools in Software Evolution
The (Un) Expected Impact of Tools in Software EvolutionThe (Un) Expected Impact of Tools in Software Evolution
The (Un) Expected Impact of Tools in Software EvolutionGail Murphy
 

What's hot (19)

Using HPC Resources to Exploit Big Data for Code Review Analytics
Using HPC Resources to Exploit Big Data for Code Review AnalyticsUsing HPC Resources to Exploit Big Data for Code Review Analytics
Using HPC Resources to Exploit Big Data for Code Review Analytics
 
Implications of Open Source Software Use (or Let's Talk Open Source)
Implications of Open Source Software Use (or Let's Talk Open Source)Implications of Open Source Software Use (or Let's Talk Open Source)
Implications of Open Source Software Use (or Let's Talk Open Source)
 
Review Participation in Modern Code Review: An Empirical Study of the Android...
Review Participation in Modern Code Review: An Empirical Study of the Android...Review Participation in Modern Code Review: An Empirical Study of the Android...
Review Participation in Modern Code Review: An Empirical Study of the Android...
 
Investigating Code Review Practices in Defective Files
Investigating Code Review Practices in Defective FilesInvestigating Code Review Practices in Defective Files
Investigating Code Review Practices in Defective Files
 
Ph.D. Thesis Defense: Studying Reviewer Selection and Involvement in Modern ...
Ph.D. Thesis Defense:  Studying Reviewer Selection and Involvement in Modern ...Ph.D. Thesis Defense:  Studying Reviewer Selection and Involvement in Modern ...
Ph.D. Thesis Defense: Studying Reviewer Selection and Involvement in Modern ...
 
Proactive Empirical Assessment of New Language Feature Adoption via Automated...
Proactive Empirical Assessment of New Language Feature Adoption via Automated...Proactive Empirical Assessment of New Language Feature Adoption via Automated...
Proactive Empirical Assessment of New Language Feature Adoption via Automated...
 
Revisiting Code Ownership and Its Relationship with Software Quality in the S...
Revisiting Code Ownership and Its Relationship with Software Quality in the S...Revisiting Code Ownership and Its Relationship with Software Quality in the S...
Revisiting Code Ownership and Its Relationship with Software Quality in the S...
 
Unlocking Software Testing Circa 2016
Unlocking Software Testing Circa 2016Unlocking Software Testing Circa 2016
Unlocking Software Testing Circa 2016
 
Advantages and Disadvantages of a Monolithic Repository
Advantages and Disadvantages of a Monolithic RepositoryAdvantages and Disadvantages of a Monolithic Repository
Advantages and Disadvantages of a Monolithic Repository
 
Is Text Search an Effective Approach for Fault Localization: A Practitioners ...
Is Text Search an Effective Approach for Fault Localization: A Practitioners ...Is Text Search an Effective Approach for Fault Localization: A Practitioners ...
Is Text Search an Effective Approach for Fault Localization: A Practitioners ...
 
A Large-Scale Empirical Comparison of Static and DynamicTest Case Prioritizat...
A Large-Scale Empirical Comparison of Static and DynamicTest Case Prioritizat...A Large-Scale Empirical Comparison of Static and DynamicTest Case Prioritizat...
A Large-Scale Empirical Comparison of Static and DynamicTest Case Prioritizat...
 
Improving Code Review Effectiveness Through Reviewer Recommendations
Improving Code Review Effectiveness Through Reviewer RecommendationsImproving Code Review Effectiveness Through Reviewer Recommendations
Improving Code Review Effectiveness Through Reviewer Recommendations
 
Software Analytics: Towards Software Mining that Matters
Software Analytics: Towards Software Mining that MattersSoftware Analytics: Towards Software Mining that Matters
Software Analytics: Towards Software Mining that Matters
 
ISEC'18 Keynote: Intelligent Software Engineering: Synergy between AI and Sof...
ISEC'18 Keynote: Intelligent Software Engineering: Synergy between AI and Sof...ISEC'18 Keynote: Intelligent Software Engineering: Synergy between AI and Sof...
ISEC'18 Keynote: Intelligent Software Engineering: Synergy between AI and Sof...
 
Generation of Search Based Test Data on Acceptability Testing Principle
Generation of Search Based Test Data on Acceptability Testing PrincipleGeneration of Search Based Test Data on Acceptability Testing Principle
Generation of Search Based Test Data on Acceptability Testing Principle
 
A Novel Agent Oriented Methodology – Styx Methodology
A Novel Agent Oriented Methodology – Styx MethodologyA Novel Agent Oriented Methodology – Styx Methodology
A Novel Agent Oriented Methodology – Styx Methodology
 
Requirements driven Model-based Testing
Requirements driven Model-based TestingRequirements driven Model-based Testing
Requirements driven Model-based Testing
 
Automated Traceability for Software Engineering Tasks
Automated Traceability for Software Engineering TasksAutomated Traceability for Software Engineering Tasks
Automated Traceability for Software Engineering Tasks
 
The (Un) Expected Impact of Tools in Software Evolution
The (Un) Expected Impact of Tools in Software EvolutionThe (Un) Expected Impact of Tools in Software Evolution
The (Un) Expected Impact of Tools in Software Evolution
 

Viewers also liked

Your (coding) standards matter
Your (coding) standards matterYour (coding) standards matter
Your (coding) standards matterEdorian
 
ISMA 9 - van Heeringen - Using IFPUG and ISBSG to improve organization success
ISMA 9 - van Heeringen - Using IFPUG and ISBSG to improve organization successISMA 9 - van Heeringen - Using IFPUG and ISBSG to improve organization success
ISMA 9 - van Heeringen - Using IFPUG and ISBSG to improve organization successHarold van Heeringen
 
Email marketing best practices + benchmark data - final
Email marketing   best practices + benchmark data - finalEmail marketing   best practices + benchmark data - final
Email marketing best practices + benchmark data - finalHubSpot
 
Software project benchmarking
Software project benchmarkingSoftware project benchmarking
Software project benchmarkingHannu Lappalainen
 
Life sciences quality management system vendor software benchmark survey feb2014
Life sciences quality management system vendor software benchmark survey feb2014Life sciences quality management system vendor software benchmark survey feb2014
Life sciences quality management system vendor software benchmark survey feb2014Quality & Regulatory Network LLC
 
Giving your AppSec program the edge - using OpenSAMM for benchmarking and sof...
Giving your AppSec program the edge - using OpenSAMM for benchmarking and sof...Giving your AppSec program the edge - using OpenSAMM for benchmarking and sof...
Giving your AppSec program the edge - using OpenSAMM for benchmarking and sof...Denim Group
 
Using Benchmarking to Quantify the Benefits of Software Process Improvement
Using Benchmarking to Quantify the Benefits of Software Process ImprovementUsing Benchmarking to Quantify the Benefits of Software Process Improvement
Using Benchmarking to Quantify the Benefits of Software Process ImprovementQuantitative Software Management, Inc.
 
Software Analytics: The Dark Side and the Test Side
Software Analytics: The Dark Side and the Test SideSoftware Analytics: The Dark Side and the Test Side
Software Analytics: The Dark Side and the Test SideAndy Zaidman
 
Intro to Software Engineering - Coding Standards
Intro to Software Engineering - Coding StandardsIntro to Software Engineering - Coding Standards
Intro to Software Engineering - Coding StandardsRadu_Negulescu
 
Misra C Software Development Standard
Misra C Software Development StandardMisra C Software Development Standard
Misra C Software Development StandardVittorio Giovara
 
"CERT Secure Coding Standards" by Dr. Mark Sherman
"CERT Secure Coding Standards" by Dr. Mark Sherman"CERT Secure Coding Standards" by Dr. Mark Sherman
"CERT Secure Coding Standards" by Dr. Mark ShermanRinaldi Rampen
 
Software Coding- Software Coding
Software Coding- Software CodingSoftware Coding- Software Coding
Software Coding- Software CodingNikhil Pandit
 
Software development best practices & coding guidelines
Software development best practices & coding guidelinesSoftware development best practices & coding guidelines
Software development best practices & coding guidelinesAnkur Goyal
 
The importance of benchmarking software projects - Van Heeringen and Ogilvie
The importance of benchmarking software projects - Van Heeringen and OgilvieThe importance of benchmarking software projects - Van Heeringen and Ogilvie
The importance of benchmarking software projects - Van Heeringen and OgilvieHarold van Heeringen
 
Coding standards and guidelines
Coding standards and guidelinesCoding standards and guidelines
Coding standards and guidelinesbrijraj_singh
 

Viewers also liked (20)

Your (coding) standards matter
Your (coding) standards matterYour (coding) standards matter
Your (coding) standards matter
 
ISMA 9 - van Heeringen - Using IFPUG and ISBSG to improve organization success
ISMA 9 - van Heeringen - Using IFPUG and ISBSG to improve organization successISMA 9 - van Heeringen - Using IFPUG and ISBSG to improve organization success
ISMA 9 - van Heeringen - Using IFPUG and ISBSG to improve organization success
 
Email marketing best practices + benchmark data - final
Email marketing   best practices + benchmark data - finalEmail marketing   best practices + benchmark data - final
Email marketing best practices + benchmark data - final
 
gFact-e: Facturación Electrónica
gFact-e: Facturación ElectrónicagFact-e: Facturación Electrónica
gFact-e: Facturación Electrónica
 
Software project benchmarking
Software project benchmarkingSoftware project benchmarking
Software project benchmarking
 
CERT Certification
CERT CertificationCERT Certification
CERT Certification
 
Life sciences quality management system vendor software benchmark survey feb2014
Life sciences quality management system vendor software benchmark survey feb2014Life sciences quality management system vendor software benchmark survey feb2014
Life sciences quality management system vendor software benchmark survey feb2014
 
Giving your AppSec program the edge - using OpenSAMM for benchmarking and sof...
Giving your AppSec program the edge - using OpenSAMM for benchmarking and sof...Giving your AppSec program the edge - using OpenSAMM for benchmarking and sof...
Giving your AppSec program the edge - using OpenSAMM for benchmarking and sof...
 
Codings Standards
Codings StandardsCodings Standards
Codings Standards
 
Using Benchmarking to Quantify the Benefits of Software Process Improvement
Using Benchmarking to Quantify the Benefits of Software Process ImprovementUsing Benchmarking to Quantify the Benefits of Software Process Improvement
Using Benchmarking to Quantify the Benefits of Software Process Improvement
 
Coding conventions
Coding conventionsCoding conventions
Coding conventions
 
Software Analytics: The Dark Side and the Test Side
Software Analytics: The Dark Side and the Test SideSoftware Analytics: The Dark Side and the Test Side
Software Analytics: The Dark Side and the Test Side
 
Intro to Software Engineering - Coding Standards
Intro to Software Engineering - Coding StandardsIntro to Software Engineering - Coding Standards
Intro to Software Engineering - Coding Standards
 
Misra C Software Development Standard
Misra C Software Development StandardMisra C Software Development Standard
Misra C Software Development Standard
 
"CERT Secure Coding Standards" by Dr. Mark Sherman
"CERT Secure Coding Standards" by Dr. Mark Sherman"CERT Secure Coding Standards" by Dr. Mark Sherman
"CERT Secure Coding Standards" by Dr. Mark Sherman
 
Software Coding- Software Coding
Software Coding- Software CodingSoftware Coding- Software Coding
Software Coding- Software Coding
 
Software development best practices & coding guidelines
Software development best practices & coding guidelinesSoftware development best practices & coding guidelines
Software development best practices & coding guidelines
 
Benchmarking Software Estimation Methods
Benchmarking Software Estimation MethodsBenchmarking Software Estimation Methods
Benchmarking Software Estimation Methods
 
The importance of benchmarking software projects - Van Heeringen and Ogilvie
The importance of benchmarking software projects - Van Heeringen and OgilvieThe importance of benchmarking software projects - Van Heeringen and Ogilvie
The importance of benchmarking software projects - Van Heeringen and Ogilvie
 
Coding standards and guidelines
Coding standards and guidelinesCoding standards and guidelines
Coding standards and guidelines
 

Similar to Software Evolution Lab Replication

Nii shonan-meeting-gsrm-20141021 - コピー
Nii shonan-meeting-gsrm-20141021 - コピーNii shonan-meeting-gsrm-20141021 - コピー
Nii shonan-meeting-gsrm-20141021 - コピーHironori Washizaki
 
Continuous Software Engineering - A tutorial
Continuous Software Engineering - A tutorialContinuous Software Engineering - A tutorial
Continuous Software Engineering - A tutorialBreno de França
 
Annotated Bibliography .Guidelines Annotated Bibliograph.docx
Annotated Bibliography  .Guidelines Annotated Bibliograph.docxAnnotated Bibliography  .Guidelines Annotated Bibliograph.docx
Annotated Bibliography .Guidelines Annotated Bibliograph.docxjustine1simpson78276
 
Collaborative Data Analysis with Taverna Workflows
Collaborative Data Analysis with Taverna WorkflowsCollaborative Data Analysis with Taverna Workflows
Collaborative Data Analysis with Taverna WorkflowsAndrea Wiggins
 
Increasing Quality with DevOps
Increasing Quality with DevOpsIncreasing Quality with DevOps
Increasing Quality with DevOpsCoveros, Inc.
 
Software Analytics - Achievements and Challenges
Software Analytics - Achievements and ChallengesSoftware Analytics - Achievements and Challenges
Software Analytics - Achievements and ChallengesTao Xie
 
AnalyticOps: Lessons Learned Moving Machine-Learning Algorithms to Production...
AnalyticOps: Lessons Learned Moving Machine-Learning Algorithms to Production...AnalyticOps: Lessons Learned Moving Machine-Learning Algorithms to Production...
AnalyticOps: Lessons Learned Moving Machine-Learning Algorithms to Production...Robert Grossman
 
2012 ieee projects software engineering @ Seabirds ( Trichy, Chennai, Pondich...
2012 ieee projects software engineering @ Seabirds ( Trichy, Chennai, Pondich...2012 ieee projects software engineering @ Seabirds ( Trichy, Chennai, Pondich...
2012 ieee projects software engineering @ Seabirds ( Trichy, Chennai, Pondich...SBGC
 
2014 Asdenca - Capability-driven development of a soa platform, a case study
2014 Asdenca - Capability-driven development of a soa platform, a case study2014 Asdenca - Capability-driven development of a soa platform, a case study
2014 Asdenca - Capability-driven development of a soa platform, a case studyCaaS EU FP7 Project
 
Lionel Briand ICSM 2011 Keynote
Lionel Briand ICSM 2011 KeynoteLionel Briand ICSM 2011 Keynote
Lionel Briand ICSM 2011 KeynoteICSM 2011
 
Innovate Better Through Machine data Analytics
Innovate Better Through Machine data AnalyticsInnovate Better Through Machine data Analytics
Innovate Better Through Machine data AnalyticsHal Rottenberg
 
Continuous delivery practices and real experiences
Continuous delivery   practices and real experiencesContinuous delivery   practices and real experiences
Continuous delivery practices and real experiencesEduardo Ferro Aldama
 
From Bugs to Decision Support - Selected Research Highlights
From Bugs to Decision Support - Selected Research HighlightsFrom Bugs to Decision Support - Selected Research Highlights
From Bugs to Decision Support - Selected Research HighlightsMarkus Borg
 
How to Actually DO High-volume Automated Testing
How to Actually DO High-volume Automated TestingHow to Actually DO High-volume Automated Testing
How to Actually DO High-volume Automated TestingTechWell
 
Reproducible Research: how could Research Objects help
Reproducible Research: how could Research Objects helpReproducible Research: how could Research Objects help
Reproducible Research: how could Research Objects helpCarole Goble
 
Software Mining and Software Datasets
Software Mining and Software DatasetsSoftware Mining and Software Datasets
Software Mining and Software DatasetsTao Xie
 
Google, quality and you
Google, quality and youGoogle, quality and you
Google, quality and younelinger
 
Replicating FLOSS Research as eResearch
Replicating FLOSS Research as eResearchReplicating FLOSS Research as eResearch
Replicating FLOSS Research as eResearchAndrea Wiggins
 
Software Engineering Research: Leading a Double-Agent Life.
Software Engineering Research: Leading a Double-Agent Life.Software Engineering Research: Leading a Double-Agent Life.
Software Engineering Research: Leading a Double-Agent Life.Lionel Briand
 

Similar to Software Evolution Lab Replication (20)

Nii shonan-meeting-gsrm-20141021 - コピー
Nii shonan-meeting-gsrm-20141021 - コピーNii shonan-meeting-gsrm-20141021 - コピー
Nii shonan-meeting-gsrm-20141021 - コピー
 
Continuous Software Engineering - A tutorial
Continuous Software Engineering - A tutorialContinuous Software Engineering - A tutorial
Continuous Software Engineering - A tutorial
 
Annotated Bibliography .Guidelines Annotated Bibliograph.docx
Annotated Bibliography  .Guidelines Annotated Bibliograph.docxAnnotated Bibliography  .Guidelines Annotated Bibliograph.docx
Annotated Bibliography .Guidelines Annotated Bibliograph.docx
 
Collaborative Data Analysis with Taverna Workflows
Collaborative Data Analysis with Taverna WorkflowsCollaborative Data Analysis with Taverna Workflows
Collaborative Data Analysis with Taverna Workflows
 
Increasing Quality with DevOps
Increasing Quality with DevOpsIncreasing Quality with DevOps
Increasing Quality with DevOps
 
Software Analytics - Achievements and Challenges
Software Analytics - Achievements and ChallengesSoftware Analytics - Achievements and Challenges
Software Analytics - Achievements and Challenges
 
AnalyticOps: Lessons Learned Moving Machine-Learning Algorithms to Production...
AnalyticOps: Lessons Learned Moving Machine-Learning Algorithms to Production...AnalyticOps: Lessons Learned Moving Machine-Learning Algorithms to Production...
AnalyticOps: Lessons Learned Moving Machine-Learning Algorithms to Production...
 
2012 ieee projects software engineering @ Seabirds ( Trichy, Chennai, Pondich...
2012 ieee projects software engineering @ Seabirds ( Trichy, Chennai, Pondich...2012 ieee projects software engineering @ Seabirds ( Trichy, Chennai, Pondich...
2012 ieee projects software engineering @ Seabirds ( Trichy, Chennai, Pondich...
 
2014 Asdenca - Capability-driven development of a soa platform, a case study
2014 Asdenca - Capability-driven development of a soa platform, a case study2014 Asdenca - Capability-driven development of a soa platform, a case study
2014 Asdenca - Capability-driven development of a soa platform, a case study
 
Lionel Briand ICSM 2011 Keynote
Lionel Briand ICSM 2011 KeynoteLionel Briand ICSM 2011 Keynote
Lionel Briand ICSM 2011 Keynote
 
Innovate Better Through Machine data Analytics
Innovate Better Through Machine data AnalyticsInnovate Better Through Machine data Analytics
Innovate Better Through Machine data Analytics
 
Continuous delivery practices and real experiences
Continuous delivery   practices and real experiencesContinuous delivery   practices and real experiences
Continuous delivery practices and real experiences
 
From Bugs to Decision Support - Selected Research Highlights
From Bugs to Decision Support - Selected Research HighlightsFrom Bugs to Decision Support - Selected Research Highlights
From Bugs to Decision Support - Selected Research Highlights
 
How to Actually DO High-volume Automated Testing
How to Actually DO High-volume Automated TestingHow to Actually DO High-volume Automated Testing
How to Actually DO High-volume Automated Testing
 
Reproducible Research: how could Research Objects help
Reproducible Research: how could Research Objects helpReproducible Research: how could Research Objects help
Reproducible Research: how could Research Objects help
 
Software Mining and Software Datasets
Software Mining and Software DatasetsSoftware Mining and Software Datasets
Software Mining and Software Datasets
 
Google, quality and you
Google, quality and youGoogle, quality and you
Google, quality and you
 
Replicating FLOSS Research as eResearch
Replicating FLOSS Research as eResearchReplicating FLOSS Research as eResearch
Replicating FLOSS Research as eResearch
 
Software Engineering Research: Leading a Double-Agent Life.
Software Engineering Research: Leading a Double-Agent Life.Software Engineering Research: Leading a Double-Agent Life.
Software Engineering Research: Leading a Double-Agent Life.
 
Msr2021 tutorial-di penta
Msr2021 tutorial-di pentaMsr2021 tutorial-di penta
Msr2021 tutorial-di penta
 

Recently uploaded

DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DaySri Ambati
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 

Recently uploaded (20)

DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 

Software Evolution Lab Replication

  • 1. software evolution & architecture lab Replication and Benchmarking in Software Analytics Harald Gall University of Zurich, Switzerland http:/ /seal.ifi.uzh.ch @ BENEVOL, Mons, 17 Dec 2013
  • 3. The Screening Plant of a SW Miner
  • 5. Roadmap for the talk ‣ Challenges of Software Mining Studies ‣ Mining Studies: Where are we now? ! ‣ ‣ Software Analytics: Replication and Benchmarking An Infrastructure for Software Analytics
  • 6. I. Challenges of Software Mining Studies software evolution & architecture lab
  • 7. Which data sources? ‣ Evolution analysis data repositories à la PROMISE ‣ ‣ ‣ Flossmole, Sourcerer, Ultimate Debian DB Provide benchmark (raw) data Interactive online web platforms that provide various analyses ‣ ‣ Analyses offered by design ‣ ‣ Boa, FOSSology, Alitheia core, Ohloh Data produced is best used within the system Industrial project data (not widely accessible)
  • 8. What kind of studies? ‣ Source code ‣ ‣ ‣ Which entities co-evolve/co-change? How to identify code smells or design disharmonies? Bugs and changes ‣ ‣ When do changes induce fixes? ‣ ‣ Who should / how long will it take to fix this bug? Predicting bugs and their components? Project and process ‣ Do code and comments co-evolve? ‣ Who are the experts of a piece of code?
  • 9. Example: Bug Prediction Using Code Churn vs. Fine-Grained Changes Predicting the Types of Code Changes Predicting the Method Using the Gini Coefficient for Bug Prediction Using developer networks for Bug Prediction 9
  • 10. Performance of bug prediction • Learn a prediction model from historic data Predictor • Predict defects for the same project • Hundreds of prediction models / learners exist • Models work fairly well with precision and recall of up to 80%. Precision Recall Pre-­‐Release  Bugs 73.80% 62.90% Test  Coverage 83.80% 54.40% Dependencies 74.40% 69.90% Code  Complexity 79.30% 66.00% Code  Churn 78.60% 79.90% Org.  Structure 86.20% 84.00% From:  N.  Nagappan,  B.  Murphy,  and  V.  Basili.  The  influence  of   organizaonal  structure  on  so@ware  quality.  ICSE  2008.
  • 11. Example: Code Ownership C. Bird, N. Nagappan, B. Murphy, H. Gall, P Devanbu, Don't touch my code! Examining the effects of ownership on software quality, ESEC/FSE ’11
  • 12. Actionable Findings ‣ ‣ ‣ “Changes made by minor contributors should be reviewed with more scrutiny.” “Potential minor contributors should communicate desired changes to developers experienced with the respective binary.” “Components with low ownership should be given priority by QA.” C. Bird, N. Nagappan, B. Murphy, H. Gall, P Devanbu, Don't touch my code! Examining the effects of ownership on software quality, ESEC/FSE ’11
  • 13. Studies and Issues ‣ ‣ Bug predictions do work, cross-project predictions do not really work Data sets (systems) need to be “harmonized” ! ‣ Open issues: ‣ Replicability of studies ‣ Benchmarks to be established
  • 14. II. Software Mining Studies: Where are we now? software evolution architecture lab
  • 15. Nature of Studies ‣ Replication ‣ Less than 20% can be replicated, from all the empirical studies published in MSR 2004-2009
 [G. Robles: Replicating MSR: A study of the potential replicability of papers published in the Mining Software Repositories proceedings. MSR 2010] ‣ Data availability ‣ ‣ ‣ Raw data for OSS is easily available straight from publicly available sources (Pre)Processed data is not yet widely available Data preparation / tailoring to stakeholders
  • 16. Performance/Time variance ‣ ‣ ‣ Bug prediction performance varies over time OpenOffice 2001-2008 monthly slices ! ‣ conceptual drift! ‣ phases of stability! J. Ekanayake, J. Tappolet, H. Gall, A. Bernstein, Time variance and defect prediction in software projects, 
 Empirical Software Engineering, Vol. 17 (4-5), 2012
  • 17. III. Software Analytics: Where to go from here? software evolution architecture lab
  • 18. What is missing? ‣ Replication ‣ Large-scale comparative studies ‣ Preprocessing and Learners ‣ Calibration ‣ Benchmarking ‣ Line up of essential questions ‣ Adopting technologies from other fields
  • 19. Replicability Evaluation ‣ Mining Studies of MSR 2004 - 2011 ‣ ‣ ‣ 84 (49%) experimental/empirical studies 88 (51%) non-experimental studies (new methods, tools, case studies, visualizations, etc.) Studies classified into 6 categories and manually checked if they can be replicated with SOFAS: Version History Mining, History Mining, Change Analysis, Social Networks and People, Defect Analysis, Bug Prediction
  • 20. possible. Conceptual replication is when the experimental procedure is not followed strictly, but the same research questions or hypotheses are evaluated, e.g. different tools/algorithms are used or some of the variables are changed [32]. In this paper, we did not distinguish between exact and conceptual replication. A study was considered replicable whenever it could be replicated, either conceptually or exactly replicate, using a service or a combination of services currently available in SOFAS . MSR Replication with SOFAS Research category Version History Mining History Mining Change Analysis Social Networks and People Defect Analysis Bug Prediction Number papers 8 (9%) of Fully replicable papers 4 Partially replicable papers 0 Non replicable papers 4 17 (20%) 13 (15%) 19 (22%) 0 5 6 8 6 5 9 2 8 19 (22%) 8 (9%) 88 84 (100%) 8 2 25 (30%) 6 2 27 (32%) 5 4 32 (38%) Table 1 The results of the replicability evaluation. The results of such replicability assessment are reported in Table 1. The level of replicability is spread quite evenly across the different research categories and there
  • 21. Replicability ‣ ‣ ‣ Full replication: 30% of the studies can be fully replicated out of the box Partial replication: 32% of the studies can be partially replicated As evaluation, we fully replicated 
 “Do time of day and developer experience affect commit bugginess?” 
 by J. Eyolfson, L. Tan and P. Lam, MSR 2011
  • 22. The replication of the study ‣ ‣ We replicate the study to verify the 4 main findings We extend the study by testing the findings for additional OSS projects: ‣ ‣ Apache HTTP, Subversion, and VLC We analyze the results ‣ ‣ Do we achieve the same results? Can the original conclusions also be drawn for the additionally investigated projects?
  • 24. Replication results /1 Percentage of buggy commits ‣ ‣ We confirmed the results of the original study with slight differences (different heuristic and date of analysis) The additional projects exhibit similar values (22-28%) Original Study Extended Study Linux PostgreSQL Apache Http Server Subversion VLC # commits 268820 38978 30701 47724 47355 # bug-introducing commits 68010 (25%) 9354 (24%) 8596 (28%) 12408 (26%) 10418 (22%) TABLE II # bug-fixing commits 68450 8410 7802 10605 10608 S MALL SUMMARY OF THE CHARACTERISTICS OF THE ANALYZED PROJECTS mmits ‣ 40 35
  • 25. Replication results /2 ‣ Influence of time of the day ‣ ‣ We confirmed the results of the original study The amount of buggy commits are particularly high between midnight and 4 AM and tends to then drop below average (morning and/or early afternoon) ! ‣ Windows of low bugginess greatly vary between projects ‣ Commit bugginess follows very different patterns
  • 26. Replication results /3 ‣ Influence of developer ‣ ‣ ‣ We confirmed the results of the original study A drop in commit bugginess is evident with the increasing amount of time a developer has spent on a project Influence of day of the week ‣ We confirmed the results of the original study ‣ Different weekly patterns in the additional projects
  • 27. Interpretation of results ‣ Feasibility ‣ ‣ ‣ We can replicate 30% of the analyzed studies and compute the ground data needed for another 32% The studies we can replicate all use historical data extracted from different repositories Scalability ‣ ‣ ‣ The approach can scale up to very many of projects Once the analysis workflow is defined, it can be automatically run with different project repositories Still, limitation is total execution time (Apache HTTP ~ 8 hrs)
  • 28. Interpretation of results ‣ Extensibility ‣ ‣ ‣ We only focused on the replication of existing studies The results and ground data produced by SOFAS analyses can be fed to other services, used by thirdparty analyses and tools or combined with data from other sources. Do time of day, developer experience and file ownership affect commit bugginess? ‣ e.g. taking into account code ownership measured using the Gini coefficient [Giger, 2011]
  • 29. To get to the next level ... ‣ ‣ ‣ ‣ Support for replicability systematic analysis workflows Calibration of data preprocessing Performance measures performance criteria for studies Conclusion stability of studies
  • 30. IV. Replicating Software Mining Studies with SOFAS software evolution architecture lab
  • 31. SOFtware Analysis Services ‣ SOFAS = RESTful service platform by G. Ghezzi ‣ using software evolution ontologies ‣ enabling the composition of analysis workflows ‣ http:/ /www.ifi.uzh.ch/seal/research/tools/sofas.html
  • 32. software evolution architecture lab
  • 33. Current SOFAS services ‣ Data Gatherers ‣ ‣ ‣ Version history extractor for CVS, SVN, GIT, and Mercurial Issue tracking history for Bugzilla, Trac, SourceForge, Jira Basic Services ‣ ‣ Change coupling, change type analyses ‣ Issue-revision linker ‣ ‣ Meta-model extractors for Java and C# (FAMIX) Metrics service Composite services ‣ Evolutionary hot-spots ‣ Highly changing Code Clones ‣ and many more ...
  • 34. software evolution architecture lab
  • 35. Demo! software evolution architecture lab
  • 36. V. Mashing Up Software Analytics Data for Stakeholders software evolution architecture lab
  • 37. Multiple Stakeholder Mining ‣ We need to tailor information to the information needs of stakeholders, such as developers, testers, project managers, or quality analysts ‣ ‣ study their needs beyond typical developer needs ‘questions developers ask’ by Sillito et al.) devise prototypes to elicit that 
 information needs, for example, 
 SQA-Mashup for Integrating 
 Quality Data
  • 38. SQA-Mashup ‣ A Mashup of Software Project data ‣ ‣ all in mashups, integrated, easy to access ‣ ‣ commit issue build test data however, filtered to the information needs of stakeholders Most recent paper ‣ ‣ Martin Brandtner, Emanuel Giger, Harald Gall, Supporting Continuous Integration by Mashing-Up Software Quality Information, CSMR-WCRE 2014, Antwerp, Belgium Available in Win 8 App Store ‣ http:/ /goo.gl/ZUWrvm