SlideShare a Scribd company logo
1 of 57
Download to read offline
An Empirical Study of
Build System
Migrations in Practice
Case Studies on KDE and the Linux Kernel
1
R. Suvorov, B.Adams, M. Nagappan, A. E. Hassan,Y. Zou
Analogy: Car Assembly
2
+4x +
assembly
+
Build System Transforms Source Code
& Resources into Executables
3
+
bdSys
+
bdSys is at the Heart of
the Development Process!
4
bdSys
+
Developers
QA Personnel Testers
bdSys Technology is “different”
5
bdSys Technology is “different”
5
Our record so far is a project weinherited with an Ant scriptweighing in at 10,000 lines ofXML. Needless to say, this projectrequired an entire team devotedto keeping the build working - acomplete waste of resources.[Jez Humble & David Farley]
KDE 4 is leaving the aging "autotool"
build chain behind. Some developers,
not only in KDE, like to nickname
the autotools as "auto-hell"
because of its difficult to
comprehend architecture.
[Alexander Neundorf]
I've been examining the existingkernel configuration system, andconcluded that the best favor wecould do everybody involved withit is to take it out behind the barnand shoot it through thehead. [Eric Raymond]
... yet a bdSys Must
Keep on Evolving
6
MLOC
..., in fact a bdSys Changes
Relatively More than Source Code
71
(c) McIntosh et al.:
“An Empirical Study of
Build Maintenance Effort”
..., in fact a bdSys Changes
Relatively More than Source Code
71
ArgoUML Hibernate Eclipse GCC Git Linux Mozilla PLPlot PostgreSQL
0
0.5
1
1.5
2
2.5
3
3.5
4
4.5
5
# changes / source file
# changes / build file
(c) McIntosh et al.:
“An Empirical Study of
Build Maintenance Effort”
..., in fact a bdSys Changes
Relatively More than Source Code
71
ArgoUML Hibernate Eclipse GCC Git Linux Mozilla PLPlot PostgreSQL
0
0.5
1
1.5
2
2.5
3
3.5
4
4.5
5
# changes / source file
# changes / build file
(c) McIntosh et al.:
“An Empirical Study of
Build Maintenance Effort”
..., in fact a bdSys Changes
Relatively More than Source Code
71
ArgoUML Hibernate Eclipse GCC Git Linux Mozilla PLPlot PostgreSQL
0
0.5
1
1.5
2
2.5
3
3.5
4
4.5
5
# changes / source file
# changes / build file
(c) McIntosh et al.:
“An Empirical Study of
Build Maintenance Effort”
In Other Words ...
8
In Other Words ...
8
Software Projects need HELP
Maintaining their Build Systems
The “easy” way out: Build
System Migrations
9
The “easy” way out: Build
System Migrations
9
10
11
12
12
Build system migrations
are not that easy! But why?
Major Contributions
13
Common
Migration
Methodology
Major
Migration
Challenges
Major Challenge:
Requirements
Gathering
Study Setup
• Linux & KDE:
• Two established projects: 21 & 16 years old
• Large: 25 & 4.3 MLOC
• 1 failed & 1 successful migration each
• Data sources:
• git repos: 300 K & 100 K commits
• 4 mailing lists, over 1.5 million messages
14
Quantitative Study of
Developer Commits
• git repositories
• Native git tools + bash scripts
• Statistics on source & bdSys code:
• Evolution
• Churn
• Distinguish between
“normal” periods & migrations
15
Qualitative Analysis of
Developer Communication
• Personal emails to migration participants
• Mailing lists
• Mass-downloaded and analyzed
• Statistics on number of messages:
• By groups (roles)
• By period of time
• Distinguish between
“normal” periods & migrations
16
Major Contributions
17
Common
Migration
Methodology
Major
Migration
Challenges
Major Challenge:
Requirements
Gathering
18
Common
Migration
Methodology
The Spiral Model of
bdSys Migration
19
1. Planning
2. Risk Analysis
3. Development
4. Evaluation
Why? Migration is
Incremental!
• Linux kernel
• 33K+ source code files
• 2,300+ subdirectories
• 5 major subsystems
• KDE
• 11K+ source code files
• 22 packages
20
21
Common
Migration
Methodology
21
Common
Migration
Methodology
spiral model!
21
Common
Migration
Methodology
spiral model!
migration
happens
incrementally
22
Common
Migration
Methodology
Major
Migration
Challenges
spiral model!
migration
happens
incrementally
Communication Among
Key Participants
23
Communication Among
Key Participants
23
bdSys Manager
major decisions
Communication Among
Key Participants
23
bdSys Manager
major decisions
bdSys Champion
leading bdSys dev’t
Communication Among
Key Participants
23
bdSys Manager
major decisions
bdSys Champion
leading bdSys dev’t
bdSys Expert
bdSys contributor
Communication Among
Key Participants
23
bdSys Manager
major decisions
bdSys Champion
leading bdSys dev’t
bdSys Expert
bdSys contributor
Core Developer
source contributor
Major Challenges
• Communication issues
• Build experts form a sub-community often reluctant to
communicate effectively
• Performance vs. complexity
• Improving performance often means introducing hacks
• Effective evaluation
• When is migration "successfully finished"? How to measure?
• Requirements gathering (see remainder)
24
25
Common
Migration
Methodology
Major
Migration
Challenges
spiral model!
migration
happens
incrementally
25
Common
Migration
Methodology
Major
Migration
Challenges
requirements
spiral model!
migration
happens
incrementally
25
Common
Migration
Methodology
Major
Migration
Challenges
requirements
communication
spiral model!
migration
happens
incrementally
25
Common
Migration
Methodology
Major
Migration
Challenges
requirements
communication
performance
spiral model!
migration
happens
incrementally
25
Common
Migration
Methodology
Major
Migration
Challenges
requirements
communication
performance
evaluation
spiral model!
migration
happens
incrementally
26
Common
Migration
Methodology
Major
Migration
Challenges
Major Challenge:
Requirements
Gathering
requirements
communication
performance
evaluation
spiral model!
migration
happens
incrementally
Example bdSys Requirements
• Platform independence
• Two new major platforms: Mac OS X & Windows
• High-level configuration
• Single-pass methodology
• Away with multiple-steps build!
• Simple and platform-independent syntax
27
Requirements Gathering
Process
1. Stakeholder identification - who?
• Who needs to be involved?
2. Elicitation
• What requirements are there?
3. Analysis
• Get all requirement data. Resolve conflicts, refine and organize.
4. Specification & Maintenance
• Document & order resulting requirements.
28
How SCons failed
• Stakeholder identification
• Only 150 of 800 developers attended aKademy
• Elicitation
• Too little, too late: “trawled” for requirements
• Analysis
• Not enough attention paid to this phase!
• Specification & Maintenance
• Not done at all!
29
30
“the main SCons tree has intolerable problems,
and there are so many layers [...] that it barely
resembles what a normal SCons build system looks
like. Don't get me wrong; I use SCons at work and I
really like it, but if it isn't capable of handling KDE then
why are we trying to make it do so? Is it really
worth keeping a KDE specific build system (which is
what we are moving towards)?
[...] Perhaps it’s time to cut our losses and run.”
[Jaison Lee]
As a Result:
Rise and Fall of SCons
31
%max(LOC)
How succeeded
• Stakeholder identification
• Learned from SCons. Involved experts early.
• Elicitation
• Reuse some of SCons’ data.
Active participation by experts!
• Analysis
• Identified conflicting requirements early.
• Specification & Maintenance
• An initiative by the build champion.
32
33
Common
Migration
Methodology
Major
Migration
Challenges
Major Challenge:
Requirements
Gathering
spiral model!
requirements
communication
performance
evaluation
migration
happens
incrementally
33
Common
Migration
Methodology
Major
Migration
Challenges
Major Challenge:
Requirements
Gathering
spiral model!
requirements
communication
performance
evaluation
migration
happens
incrementally
involve all
stakeholders
33
Common
Migration
Methodology
Major
Migration
Challenges
Major Challenge:
Requirements
Gathering
spiral model!
requirements
communication
performance
evaluation
migration
happens
incrementally
involve all
stakeholders
identify &
resolve conflicts
33
Common
Migration
Methodology
Major
Migration
Challenges
Major Challenge:
Requirements
Gathering
spiral model!
requirements
communication
performance
evaluation
migration
happens
incrementally
involve all
stakeholders
identify &
resolve conflicts
efficient elicitation
34
34
Common
Migration
Methodology
spiral model!
migration
happens
incrementally
34
Major
Migration
Challenges
requirements
communication
performance
evaluation
Common
Migration
Methodology
spiral model!
migration
happens
incrementally
34
Major
Migration
Challenges
requirements
communication
performance
evaluation
Common
Migration
Methodology
spiral model!
migration
happens
incrementally
Major Challenge:
Requirements
Gathering
involve all
stakeholders
identify &
resolve conflicts
efficient elicitation

More Related Content

Viewers also liked

Aosd2009 adams
Aosd2009 adamsAosd2009 adams
Aosd2009 adamsSAIL_QU
 
Bettenburg icpc2011
Bettenburg icpc2011Bettenburg icpc2011
Bettenburg icpc2011SAIL_QU
 
Tp numero 4 geografia , america anglosajona
Tp numero 4 geografia , america anglosajonaTp numero 4 geografia , america anglosajona
Tp numero 4 geografia , america anglosajonamatu_bot
 
Ase2010 shang
Ase2010 shangAse2010 shang
Ase2010 shangSAIL_QU
 
Sanjeev ghei, sanjeev ghai income tax,
Sanjeev ghei, sanjeev ghai income tax,Sanjeev ghei, sanjeev ghai income tax,
Sanjeev ghei, sanjeev ghai income tax,Praveen kumar
 
Winning the war for talent is your social media working for you
Winning the war for talent   is your social media working for youWinning the war for talent   is your social media working for you
Winning the war for talent is your social media working for youMarielle Reussink
 
Extending the science-policy interface
Extending the science-policy interfaceExtending the science-policy interface
Extending the science-policy interfaceFuture Earth
 

Viewers also liked (7)

Aosd2009 adams
Aosd2009 adamsAosd2009 adams
Aosd2009 adams
 
Bettenburg icpc2011
Bettenburg icpc2011Bettenburg icpc2011
Bettenburg icpc2011
 
Tp numero 4 geografia , america anglosajona
Tp numero 4 geografia , america anglosajonaTp numero 4 geografia , america anglosajona
Tp numero 4 geografia , america anglosajona
 
Ase2010 shang
Ase2010 shangAse2010 shang
Ase2010 shang
 
Sanjeev ghei, sanjeev ghai income tax,
Sanjeev ghei, sanjeev ghai income tax,Sanjeev ghei, sanjeev ghai income tax,
Sanjeev ghei, sanjeev ghai income tax,
 
Winning the war for talent is your social media working for you
Winning the war for talent   is your social media working for youWinning the war for talent   is your social media working for you
Winning the war for talent is your social media working for you
 
Extending the science-policy interface
Extending the science-policy interfaceExtending the science-policy interface
Extending the science-policy interface
 

Similar to Bdsys icsm v3.5

Software Architecture and Architectors: useless VS valuable
Software Architecture and Architectors: useless VS valuableSoftware Architecture and Architectors: useless VS valuable
Software Architecture and Architectors: useless VS valuableComsysto Reply GmbH
 
Architectural Decisions: Smoothly and Consistently
Architectural Decisions: Smoothly and ConsistentlyArchitectural Decisions: Smoothly and Consistently
Architectural Decisions: Smoothly and ConsistentlyComsysto Reply GmbH
 
Architectural Decisions: Smoothly and Consistently
Architectural Decisions: Smoothly and ConsistentlyArchitectural Decisions: Smoothly and Consistently
Architectural Decisions: Smoothly and ConsistentlyComsysto Reply GmbH
 
Rising Above the Noise: Continuous Integration, Delivery and DevOps
Rising Above the Noise: Continuous Integration, Delivery and DevOpsRising Above the Noise: Continuous Integration, Delivery and DevOps
Rising Above the Noise: Continuous Integration, Delivery and DevOpsIBM UrbanCode Products
 
Dot net platform and dotnet core fundamentals
Dot net platform and dotnet core fundamentalsDot net platform and dotnet core fundamentals
Dot net platform and dotnet core fundamentalsLalit Kale
 
Webinar: “ditch Oracle NOW”: Best Practices for Migrating to MongoDB
 Webinar: “ditch Oracle NOW”: Best Practices for Migrating to MongoDB Webinar: “ditch Oracle NOW”: Best Practices for Migrating to MongoDB
Webinar: “ditch Oracle NOW”: Best Practices for Migrating to MongoDBMongoDB
 
GECon2017_ Lean_architecturemanagement_Andrei Kavaleu
GECon2017_ Lean_architecturemanagement_Andrei KavaleuGECon2017_ Lean_architecturemanagement_Andrei Kavaleu
GECon2017_ Lean_architecturemanagement_Andrei KavaleuGECon_Org Team
 
Breaking the monolith to microservice with Docker and Kubernetes (k8s)
Breaking the monolith to microservice with Docker and Kubernetes (k8s)Breaking the monolith to microservice with Docker and Kubernetes (k8s)
Breaking the monolith to microservice with Docker and Kubernetes (k8s)Tamir Dresher
 
SCM Patterns for Agile Architectures
SCM Patterns for Agile ArchitecturesSCM Patterns for Agile Architectures
SCM Patterns for Agile ArchitecturesBrad Appleton
 
Dev trends 18_q1
Dev trends 18_q1Dev trends 18_q1
Dev trends 18_q1Pini Cohen
 
#NoVSM: Understanding and Mapping Your Knowledge Discovery Process
#NoVSM: Understanding and Mapping Your Knowledge Discovery Process#NoVSM: Understanding and Mapping Your Knowledge Discovery Process
#NoVSM: Understanding and Mapping Your Knowledge Discovery Processazheglov
 
DevOps Evolution - The Next Generation ?
DevOps Evolution - The Next Generation ?DevOps Evolution - The Next Generation ?
DevOps Evolution - The Next Generation ?Marc Hornbeek
 
Evolve 2017 - Vegas - Devops, Docker and Security
Evolve 2017 - Vegas - Devops, Docker and Security Evolve 2017 - Vegas - Devops, Docker and Security
Evolve 2017 - Vegas - Devops, Docker and Security John Willis
 
Building FoundationDB
Building FoundationDBBuilding FoundationDB
Building FoundationDBFoundationDB
 
20141210 - Microservice Container
20141210 - Microservice Container20141210 - Microservice Container
20141210 - Microservice ContainerJamie (Taka) Wang
 
From XP and Continuous Integration to DevOps
From XP and Continuous Integration to DevOpsFrom XP and Continuous Integration to DevOps
From XP and Continuous Integration to DevOpsIBM UrbanCode Products
 
Migrating from RDBMS to MongoDB
Migrating from RDBMS to MongoDBMigrating from RDBMS to MongoDB
Migrating from RDBMS to MongoDBMongoDB
 
.NET Fest 2019. Леонид Молотиевский. DotNet Core in production
.NET Fest 2019. Леонид Молотиевский. DotNet Core in production.NET Fest 2019. Леонид Молотиевский. DotNet Core in production
.NET Fest 2019. Леонид Молотиевский. DotNet Core in productionNETFest
 
VMworld 2013: How UC San Francisco Delivered ‘Science as a Service’ with Priv...
VMworld 2013: How UC San Francisco Delivered ‘Science as a Service’ with Priv...VMworld 2013: How UC San Francisco Delivered ‘Science as a Service’ with Priv...
VMworld 2013: How UC San Francisco Delivered ‘Science as a Service’ with Priv...VMworld
 

Similar to Bdsys icsm v3.5 (20)

Software Architecture and Architectors: useless VS valuable
Software Architecture and Architectors: useless VS valuableSoftware Architecture and Architectors: useless VS valuable
Software Architecture and Architectors: useless VS valuable
 
Architectural Decisions: Smoothly and Consistently
Architectural Decisions: Smoothly and ConsistentlyArchitectural Decisions: Smoothly and Consistently
Architectural Decisions: Smoothly and Consistently
 
Architectural Decisions: Smoothly and Consistently
Architectural Decisions: Smoothly and ConsistentlyArchitectural Decisions: Smoothly and Consistently
Architectural Decisions: Smoothly and Consistently
 
Rising Above the Noise: Continuous Integration, Delivery and DevOps
Rising Above the Noise: Continuous Integration, Delivery and DevOpsRising Above the Noise: Continuous Integration, Delivery and DevOps
Rising Above the Noise: Continuous Integration, Delivery and DevOps
 
Dot net platform and dotnet core fundamentals
Dot net platform and dotnet core fundamentalsDot net platform and dotnet core fundamentals
Dot net platform and dotnet core fundamentals
 
Webinar: “ditch Oracle NOW”: Best Practices for Migrating to MongoDB
 Webinar: “ditch Oracle NOW”: Best Practices for Migrating to MongoDB Webinar: “ditch Oracle NOW”: Best Practices for Migrating to MongoDB
Webinar: “ditch Oracle NOW”: Best Practices for Migrating to MongoDB
 
GECon2017_ Lean_architecturemanagement_Andrei Kavaleu
GECon2017_ Lean_architecturemanagement_Andrei KavaleuGECon2017_ Lean_architecturemanagement_Andrei Kavaleu
GECon2017_ Lean_architecturemanagement_Andrei Kavaleu
 
Breaking the monolith to microservice with Docker and Kubernetes (k8s)
Breaking the monolith to microservice with Docker and Kubernetes (k8s)Breaking the monolith to microservice with Docker and Kubernetes (k8s)
Breaking the monolith to microservice with Docker and Kubernetes (k8s)
 
SCM Patterns for Agile Architectures
SCM Patterns for Agile ArchitecturesSCM Patterns for Agile Architectures
SCM Patterns for Agile Architectures
 
Dev trends 18_q1
Dev trends 18_q1Dev trends 18_q1
Dev trends 18_q1
 
#NoVSM: Understanding and Mapping Your Knowledge Discovery Process
#NoVSM: Understanding and Mapping Your Knowledge Discovery Process#NoVSM: Understanding and Mapping Your Knowledge Discovery Process
#NoVSM: Understanding and Mapping Your Knowledge Discovery Process
 
DevOps Evolution - The Next Generation ?
DevOps Evolution - The Next Generation ?DevOps Evolution - The Next Generation ?
DevOps Evolution - The Next Generation ?
 
Microservices.pdf
Microservices.pdfMicroservices.pdf
Microservices.pdf
 
Evolve 2017 - Vegas - Devops, Docker and Security
Evolve 2017 - Vegas - Devops, Docker and Security Evolve 2017 - Vegas - Devops, Docker and Security
Evolve 2017 - Vegas - Devops, Docker and Security
 
Building FoundationDB
Building FoundationDBBuilding FoundationDB
Building FoundationDB
 
20141210 - Microservice Container
20141210 - Microservice Container20141210 - Microservice Container
20141210 - Microservice Container
 
From XP and Continuous Integration to DevOps
From XP and Continuous Integration to DevOpsFrom XP and Continuous Integration to DevOps
From XP and Continuous Integration to DevOps
 
Migrating from RDBMS to MongoDB
Migrating from RDBMS to MongoDBMigrating from RDBMS to MongoDB
Migrating from RDBMS to MongoDB
 
.NET Fest 2019. Леонид Молотиевский. DotNet Core in production
.NET Fest 2019. Леонид Молотиевский. DotNet Core in production.NET Fest 2019. Леонид Молотиевский. DotNet Core in production
.NET Fest 2019. Леонид Молотиевский. DotNet Core in production
 
VMworld 2013: How UC San Francisco Delivered ‘Science as a Service’ with Priv...
VMworld 2013: How UC San Francisco Delivered ‘Science as a Service’ with Priv...VMworld 2013: How UC San Francisco Delivered ‘Science as a Service’ with Priv...
VMworld 2013: How UC San Francisco Delivered ‘Science as a Service’ with Priv...
 

More from SAIL_QU

Studying the Integration Practices and the Evolution of Ad Libraries in the G...
Studying the Integration Practices and the Evolution of Ad Libraries in the G...Studying the Integration Practices and the Evolution of Ad Libraries in the G...
Studying the Integration Practices and the Evolution of Ad Libraries in the G...SAIL_QU
 
Studying the Dialogue Between Users and Developers of Free Apps in the Google...
Studying the Dialogue Between Users and Developers of Free Apps in the Google...Studying the Dialogue Between Users and Developers of Free Apps in the Google...
Studying the Dialogue Between Users and Developers of Free Apps in the Google...SAIL_QU
 
Improving the testing efficiency of selenium-based load tests
Improving the testing efficiency of selenium-based load testsImproving the testing efficiency of selenium-based load tests
Improving the testing efficiency of selenium-based load testsSAIL_QU
 
Studying User-Developer Interactions Through the Distribution and Reviewing M...
Studying User-Developer Interactions Through the Distribution and Reviewing M...Studying User-Developer Interactions Through the Distribution and Reviewing M...
Studying User-Developer Interactions Through the Distribution and Reviewing M...SAIL_QU
 
Studying online distribution platforms for games through the mining of data f...
Studying online distribution platforms for games through the mining of data f...Studying online distribution platforms for games through the mining of data f...
Studying online distribution platforms for games through the mining of data f...SAIL_QU
 
Understanding the Factors for Fast Answers in Technical Q&A Websites: An Empi...
Understanding the Factors for Fast Answers in Technical Q&A Websites: An Empi...Understanding the Factors for Fast Answers in Technical Q&A Websites: An Empi...
Understanding the Factors for Fast Answers in Technical Q&A Websites: An Empi...SAIL_QU
 
Investigating the Challenges in Selenium Usage and Improving the Testing Effi...
Investigating the Challenges in Selenium Usage and Improving the Testing Effi...Investigating the Challenges in Selenium Usage and Improving the Testing Effi...
Investigating the Challenges in Selenium Usage and Improving the Testing Effi...SAIL_QU
 
Mining Development Knowledge to Understand and Support Software Logging Pract...
Mining Development Knowledge to Understand and Support Software Logging Pract...Mining Development Knowledge to Understand and Support Software Logging Pract...
Mining Development Knowledge to Understand and Support Software Logging Pract...SAIL_QU
 
Which Log Level Should Developers Choose For a New Logging Statement?
Which Log Level Should Developers Choose For a New Logging Statement?Which Log Level Should Developers Choose For a New Logging Statement?
Which Log Level Should Developers Choose For a New Logging Statement?SAIL_QU
 
Towards Just-in-Time Suggestions for Log Changes
Towards Just-in-Time Suggestions for Log ChangesTowards Just-in-Time Suggestions for Log Changes
Towards Just-in-Time Suggestions for Log ChangesSAIL_QU
 
The Impact of Task Granularity on Co-evolution Analyses
The Impact of Task Granularity on Co-evolution AnalysesThe Impact of Task Granularity on Co-evolution Analyses
The Impact of Task Granularity on Co-evolution AnalysesSAIL_QU
 
A Framework for Evaluating the Results of the SZZ Approach for Identifying Bu...
A Framework for Evaluating the Results of the SZZ Approach for Identifying Bu...A Framework for Evaluating the Results of the SZZ Approach for Identifying Bu...
A Framework for Evaluating the Results of the SZZ Approach for Identifying Bu...SAIL_QU
 
How are Discussions Associated with Bug Reworking? An Empirical Study on Open...
How are Discussions Associated with Bug Reworking? An Empirical Study on Open...How are Discussions Associated with Bug Reworking? An Empirical Study on Open...
How are Discussions Associated with Bug Reworking? An Empirical Study on Open...SAIL_QU
 
A Study of the Relation of Mobile Device Attributes with the User-Perceived Q...
A Study of the Relation of Mobile Device Attributes with the User-Perceived Q...A Study of the Relation of Mobile Device Attributes with the User-Perceived Q...
A Study of the Relation of Mobile Device Attributes with the User-Perceived Q...SAIL_QU
 
A Large-Scale Study of the Impact of Feature Selection Techniques on Defect C...
A Large-Scale Study of the Impact of Feature Selection Techniques on Defect C...A Large-Scale Study of the Impact of Feature Selection Techniques on Defect C...
A Large-Scale Study of the Impact of Feature Selection Techniques on Defect C...SAIL_QU
 
Studying the Dialogue Between Users and Developers of Free Apps in the Google...
Studying the Dialogue Between Users and Developers of Free Apps in the Google...Studying the Dialogue Between Users and Developers of Free Apps in the Google...
Studying the Dialogue Between Users and Developers of Free Apps in the Google...SAIL_QU
 
What Do Programmers Know about Software Energy Consumption?
What Do Programmers Know about Software Energy Consumption?What Do Programmers Know about Software Energy Consumption?
What Do Programmers Know about Software Energy Consumption?SAIL_QU
 
Threshold for Size and Complexity Metrics: A Case Study from the Perspective ...
Threshold for Size and Complexity Metrics: A Case Study from the Perspective ...Threshold for Size and Complexity Metrics: A Case Study from the Perspective ...
Threshold for Size and Complexity Metrics: A Case Study from the Perspective ...SAIL_QU
 
Revisiting the Experimental Design Choices for Approaches for the Automated R...
Revisiting the Experimental Design Choices for Approaches for the Automated R...Revisiting the Experimental Design Choices for Approaches for the Automated R...
Revisiting the Experimental Design Choices for Approaches for the Automated R...SAIL_QU
 
Measuring Program Comprehension: A Large-Scale Field Study with Professionals
Measuring Program Comprehension: A Large-Scale Field Study with ProfessionalsMeasuring Program Comprehension: A Large-Scale Field Study with Professionals
Measuring Program Comprehension: A Large-Scale Field Study with ProfessionalsSAIL_QU
 

More from SAIL_QU (20)

Studying the Integration Practices and the Evolution of Ad Libraries in the G...
Studying the Integration Practices and the Evolution of Ad Libraries in the G...Studying the Integration Practices and the Evolution of Ad Libraries in the G...
Studying the Integration Practices and the Evolution of Ad Libraries in the G...
 
Studying the Dialogue Between Users and Developers of Free Apps in the Google...
Studying the Dialogue Between Users and Developers of Free Apps in the Google...Studying the Dialogue Between Users and Developers of Free Apps in the Google...
Studying the Dialogue Between Users and Developers of Free Apps in the Google...
 
Improving the testing efficiency of selenium-based load tests
Improving the testing efficiency of selenium-based load testsImproving the testing efficiency of selenium-based load tests
Improving the testing efficiency of selenium-based load tests
 
Studying User-Developer Interactions Through the Distribution and Reviewing M...
Studying User-Developer Interactions Through the Distribution and Reviewing M...Studying User-Developer Interactions Through the Distribution and Reviewing M...
Studying User-Developer Interactions Through the Distribution and Reviewing M...
 
Studying online distribution platforms for games through the mining of data f...
Studying online distribution platforms for games through the mining of data f...Studying online distribution platforms for games through the mining of data f...
Studying online distribution platforms for games through the mining of data f...
 
Understanding the Factors for Fast Answers in Technical Q&A Websites: An Empi...
Understanding the Factors for Fast Answers in Technical Q&A Websites: An Empi...Understanding the Factors for Fast Answers in Technical Q&A Websites: An Empi...
Understanding the Factors for Fast Answers in Technical Q&A Websites: An Empi...
 
Investigating the Challenges in Selenium Usage and Improving the Testing Effi...
Investigating the Challenges in Selenium Usage and Improving the Testing Effi...Investigating the Challenges in Selenium Usage and Improving the Testing Effi...
Investigating the Challenges in Selenium Usage and Improving the Testing Effi...
 
Mining Development Knowledge to Understand and Support Software Logging Pract...
Mining Development Knowledge to Understand and Support Software Logging Pract...Mining Development Knowledge to Understand and Support Software Logging Pract...
Mining Development Knowledge to Understand and Support Software Logging Pract...
 
Which Log Level Should Developers Choose For a New Logging Statement?
Which Log Level Should Developers Choose For a New Logging Statement?Which Log Level Should Developers Choose For a New Logging Statement?
Which Log Level Should Developers Choose For a New Logging Statement?
 
Towards Just-in-Time Suggestions for Log Changes
Towards Just-in-Time Suggestions for Log ChangesTowards Just-in-Time Suggestions for Log Changes
Towards Just-in-Time Suggestions for Log Changes
 
The Impact of Task Granularity on Co-evolution Analyses
The Impact of Task Granularity on Co-evolution AnalysesThe Impact of Task Granularity on Co-evolution Analyses
The Impact of Task Granularity on Co-evolution Analyses
 
A Framework for Evaluating the Results of the SZZ Approach for Identifying Bu...
A Framework for Evaluating the Results of the SZZ Approach for Identifying Bu...A Framework for Evaluating the Results of the SZZ Approach for Identifying Bu...
A Framework for Evaluating the Results of the SZZ Approach for Identifying Bu...
 
How are Discussions Associated with Bug Reworking? An Empirical Study on Open...
How are Discussions Associated with Bug Reworking? An Empirical Study on Open...How are Discussions Associated with Bug Reworking? An Empirical Study on Open...
How are Discussions Associated with Bug Reworking? An Empirical Study on Open...
 
A Study of the Relation of Mobile Device Attributes with the User-Perceived Q...
A Study of the Relation of Mobile Device Attributes with the User-Perceived Q...A Study of the Relation of Mobile Device Attributes with the User-Perceived Q...
A Study of the Relation of Mobile Device Attributes with the User-Perceived Q...
 
A Large-Scale Study of the Impact of Feature Selection Techniques on Defect C...
A Large-Scale Study of the Impact of Feature Selection Techniques on Defect C...A Large-Scale Study of the Impact of Feature Selection Techniques on Defect C...
A Large-Scale Study of the Impact of Feature Selection Techniques on Defect C...
 
Studying the Dialogue Between Users and Developers of Free Apps in the Google...
Studying the Dialogue Between Users and Developers of Free Apps in the Google...Studying the Dialogue Between Users and Developers of Free Apps in the Google...
Studying the Dialogue Between Users and Developers of Free Apps in the Google...
 
What Do Programmers Know about Software Energy Consumption?
What Do Programmers Know about Software Energy Consumption?What Do Programmers Know about Software Energy Consumption?
What Do Programmers Know about Software Energy Consumption?
 
Threshold for Size and Complexity Metrics: A Case Study from the Perspective ...
Threshold for Size and Complexity Metrics: A Case Study from the Perspective ...Threshold for Size and Complexity Metrics: A Case Study from the Perspective ...
Threshold for Size and Complexity Metrics: A Case Study from the Perspective ...
 
Revisiting the Experimental Design Choices for Approaches for the Automated R...
Revisiting the Experimental Design Choices for Approaches for the Automated R...Revisiting the Experimental Design Choices for Approaches for the Automated R...
Revisiting the Experimental Design Choices for Approaches for the Automated R...
 
Measuring Program Comprehension: A Large-Scale Field Study with Professionals
Measuring Program Comprehension: A Large-Scale Field Study with ProfessionalsMeasuring Program Comprehension: A Large-Scale Field Study with Professionals
Measuring Program Comprehension: A Large-Scale Field Study with Professionals
 

Bdsys icsm v3.5