SlideShare a Scribd company logo
1 of 41
Download to read offline
Social Debt Analytics for Improving the
Management of Software Evolution Tasks
Fabio Palomba*#, Alexander Serebrenik#, Andy Zaidman*
*Delft University of Technology, #Eindhoven University of Technology, The Netherlands
“Software and systems
complexity is not solely of
technological nature but
also defined by people
and processes”
Netherlands Knowledge
and Innovation Agenda
ICT 2016-2019
Social and Organizational factors are highly
relevant for the success of a software project
M. Conway, “How do committees invent”, 1968.
Social and Organizational factors are highly
relevant for the success of a software project
M. Conway, “How do committees invent”, 1968.
There is alignment between coordination requirements extracted from
technical dependencies among tasks and the actual coordination
activities performed by the developers
Unfortunately, the software evolution community
mainly focused on technical aspects of software
systems, like software quality management
While software communities have mainly been
studied from an evolutionary point of view,
whereas some work investigated the impact of
socio-technical congruence on developers’
productivity or software build success
What about the intersection between social and
technical aspects of software systems?
We cannot separate the technical side of a
product from the surrounding environment
Our Goal
Studying how community-related factors influence
technical aspects of software products, with the aim of
producing community-aware software evolution tools
Our Goal
The relationship between social debt 

and technical tasks
Social vs Technical Debt
Social vs Technical Debt
Social debt is represented by patterns
across the organizational structure of
a system that may lead to additional
unforeseen project costs.
[Tamburri et al. “What is Social Debt in Software Engineering?”

ICSE 2013, pp. 40-49]
Social vs Technical Debt
Technical debt is represented by
bad practices applied by
developers that may lead to
additional project costs.
Social debt is represented by patterns
across the organizational structure of
a system that may lead to additional
unforeseen project costs.
[Tamburri et al. “What is Social Debt in Software Engineering?”

ICSE 2013, pp. 40-49]
W. Cunningham. “The wycash portfolio management
system”. SIGPLAN OOPS Mess., 4(2):29–30.
Community vs Code Smells
Organizational Silo Effect
Tamburri et al., “The architect’s role in community
shepherding”, IEEE Software, 33(6):70–79, 2016.
Community vs Code Smells
Organizational Silo Effect
Tamburri et al., “The architect’s role in community
shepherding”, IEEE Software, 33(6):70–79, 2016.
GOD CLASS
Community vs Code Smells
Community vs Code Smells
Are they connected?
Community vs Code Smells
Sub-communities that do not
communicate with each other
might be not able to come up
with a correct way to
modularize the different
modules of the systems.
Thus, they might
introduce architectural
or code smells
Community vs Code Smells
“The creation of extremely complex and poorly
cohesive classes in presence of non-
communicating sub-teams is quite common
because in such a scenario developers do not share
information with each other about the ideal structure
to implement, therefore creating classes that perform a
lot of different things”.
[A developer surveyed in the context of our research]
The Importance of Social Aspects
Community vs Bugs
!
The presence of community smells might lead
to communication overhead causing delays in
bug triaging and resolution activities
Community vs Bugs
!
The presence of community smells might lead
to communication overhead causing delays in
bug triaging and resolution activities
Missing some information, developers might
introduce new bugs
Community vs Bugs
!
The presence of community smells might lead
to communication overhead causing delays in
bug triaging and resolution activities
Missing some information, developers might
introduce new bugs
Missing some information, developers might
not be able to solve bugs, causing higher
bug tossing
Community vs Code Review
!
The presence of community smells might lead
to communication overhead causing delays in
review triaging and review time
Community vs Code Review
!
The presence of community smells might lead
to communication overhead causing delays in
review triaging and review time
Missing some information, developers might
not properly perform good code reviews
Poor communication between developers might
cause higher rework or even misunderstanding
of the requirements, causing higher effort for
developers
Community vs Effort
!
The presence of community smells might be
used as additional information to improve the
estimation of costs of maintenance tasks
Poor communication between developers might
cause higher rework or even misunderstanding
of the requirements, causing higher effort for
developers
Community vs Effort
!
Social Debt Analytics for Improving the Management 

of Software Evolution Tasks

HOW TO
A complex problem
Measuring the Impact of Social Debt
?
A complex problem
Measuring the Impact of Social Debt
?Statistical Modeling and Machine Learning
Methods relating a set of socio-technical factors
to the considered variable
A complex problem
Measuring the Impact of Social Debt
?Statistical Modeling and Machine Learning
Methods relating a set of socio-technical factors
to the considered variable
Establishing Causality
A complex problem
Measuring the Impact of Social Debt
?Statistical Modeling and Machine Learning
Methods relating a set of socio-technical factors
to the considered variable
Establishing Causality
The key is taking into account the possible socio-
technical factors possibly biasing the
observations. More importantly, involving
developers and companies is fundamental to
understand the results
The case of code smells
Technical Factors Social Factors
LOC
CBO
Total number of commits on a class
Code Churns
Commit and Project Tenure
Code Smell Persistence
Fault-proneness
Socio-technical congruence
Truck-factor
Core-Periphery Ratio
Turnover
Smelly Quitters
The case of code smells
Basic Model Basic + Community
Smells
Basic + Community
Smells + Social
Factors
Technical Factors Technical Factors Technical Factors
Community Smells Community Smells
Social Factors
The case of code smells
Basic Model Basic + Community
Smells
Basic + Community
Smells + Social
Factors
Technical Factors Technical Factors Technical Factors
Community Smells Community Smells
Social Factors
We controlled the extent to which community smells
can explain the phenomenon
The case of code smells
We complemented the quantitative analyses by
asking to 5 project managers to reason about
possible scenarios occurring in a real context
The case of code smells
We complemented the quantitative analyses by
asking to 5 project managers to reason about
possible scenarios occurring in a real context
Given a scenario where a
community smell exists
The case of code smells
We complemented the quantitative analyses by
asking to 5 project managers to reason about
possible scenarios occurring in a real context
Given a scenario where a
community smell exists
Consequences
A complex problem
?NO CLEAR ANSWERS!
NO SILVER BULLETS!
Social Debt Analytics for Improving the
Management of Software Evolution Tasks
Fabio Palomba*#, Alexander Serebrenik#, Andy Zaidman*
*Delft University of Technology, #Eindhoven University of Technology, The Netherlands
The 2nd International Workshop on Machine
Learning Techniques for Software Quality Evaluation
Abstract Deadline: 

Full Paper Submission:
January 12nd, 2018

January 19th, 2018
https://maltesque.github.io

More Related Content

What's hot

On the Diffusion of Test Smells in Automatically Generated Test Code: An Empi...
On the Diffusion of Test Smells in Automatically Generated Test Code: An Empi...On the Diffusion of Test Smells in Automatically Generated Test Code: An Empi...
On the Diffusion of Test Smells in Automatically Generated Test Code: An Empi...Fabio Palomba
 
A Textual-based Technique for Smell Detection
A Textual-based Technique for Smell DetectionA Textual-based Technique for Smell Detection
A Textual-based Technique for Smell DetectionFabio Palomba
 
Enhancing Developer Productivity with Code Forensics
Enhancing Developer Productivity with Code ForensicsEnhancing Developer Productivity with Code Forensics
Enhancing Developer Productivity with Code ForensicsTechWell
 
Early Detection of Collaboration Conflicts & Risks in Software Development
Early Detection of Collaboration Conflicts & Risks in Software DevelopmentEarly Detection of Collaboration Conflicts & Risks in Software Development
Early Detection of Collaboration Conflicts & Risks in Software DevelopmentRoopesh Jhurani
 
QuaP2P Kickoff Slides 2006
QuaP2P Kickoff Slides 2006QuaP2P Kickoff Slides 2006
QuaP2P Kickoff Slides 2006Kalman Graffi
 
On the Malware Detection Problem: Challenges & Novel Approaches
On the Malware Detection Problem: Challenges & Novel ApproachesOn the Malware Detection Problem: Challenges & Novel Approaches
On the Malware Detection Problem: Challenges & Novel ApproachesMarcus Botacin
 
Big(ger) Data in Software Engineering
Big(ger) Data in Software EngineeringBig(ger) Data in Software Engineering
Big(ger) Data in Software EngineeringMehdi Mirakhorli
 
SFSCon19 - Kristian Schwienbacher - Custom error and event tracking for Ember...
SFSCon19 - Kristian Schwienbacher - Custom error and event tracking for Ember...SFSCon19 - Kristian Schwienbacher - Custom error and event tracking for Ember...
SFSCon19 - Kristian Schwienbacher - Custom error and event tracking for Ember...South Tyrol Free Software Conference
 
A Longitudinal Study on the Maintainers' Sentiment of a Large Scale Open Sour...
A Longitudinal Study on the Maintainers' Sentiment of a Large Scale Open Sour...A Longitudinal Study on the Maintainers' Sentiment of a Large Scale Open Sour...
A Longitudinal Study on the Maintainers' Sentiment of a Large Scale Open Sour...Isabella Ferreira
 
A Method to Detect License Inconsistencies for Large-Scale Open Source Projects
A Method to Detect License Inconsistencies for Large-Scale Open Source ProjectsA Method to Detect License Inconsistencies for Large-Scale Open Source Projects
A Method to Detect License Inconsistencies for Large-Scale Open Source ProjectsYuhao Wu
 
The Use of Development History in Software Refactoring Using a Multi-Objectiv...
The Use of Development History in Software Refactoring Using a Multi-Objectiv...The Use of Development History in Software Refactoring Using a Multi-Objectiv...
The Use of Development History in Software Refactoring Using a Multi-Objectiv...Ali Ouni
 
03. HAMS - Project Scheduling
03. HAMS - Project Scheduling03. HAMS - Project Scheduling
03. HAMS - Project SchedulingHAMSproject
 
Analysis and detection of computer viruses and worms
Analysis and detection of computer viruses and wormsAnalysis and detection of computer viruses and worms
Analysis and detection of computer viruses and wormsUltraUploader
 
Adaptation of the technology of the static code analyzer for developing paral...
Adaptation of the technology of the static code analyzer for developing paral...Adaptation of the technology of the static code analyzer for developing paral...
Adaptation of the technology of the static code analyzer for developing paral...PVS-Studio
 
All You Need to Know to Win a Cybersecurity Adversarial Machine Learning Comp...
All You Need to Know to Win a Cybersecurity Adversarial Machine Learning Comp...All You Need to Know to Win a Cybersecurity Adversarial Machine Learning Comp...
All You Need to Know to Win a Cybersecurity Adversarial Machine Learning Comp...Marcus Botacin
 
Effects of Ownership on Software Quality
 Effects of Ownership on Software Quality Effects of Ownership on Software Quality
Effects of Ownership on Software QualityMd. Shafiuzzaman Hira
 
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
 

What's hot (20)

On the Diffusion of Test Smells in Automatically Generated Test Code: An Empi...
On the Diffusion of Test Smells in Automatically Generated Test Code: An Empi...On the Diffusion of Test Smells in Automatically Generated Test Code: An Empi...
On the Diffusion of Test Smells in Automatically Generated Test Code: An Empi...
 
A Textual-based Technique for Smell Detection
A Textual-based Technique for Smell DetectionA Textual-based Technique for Smell Detection
A Textual-based Technique for Smell Detection
 
Icsm20.ppt
Icsm20.pptIcsm20.ppt
Icsm20.ppt
 
Saner16b.ppt
Saner16b.pptSaner16b.ppt
Saner16b.ppt
 
Enhancing Developer Productivity with Code Forensics
Enhancing Developer Productivity with Code ForensicsEnhancing Developer Productivity with Code Forensics
Enhancing Developer Productivity with Code Forensics
 
Early Detection of Collaboration Conflicts & Risks in Software Development
Early Detection of Collaboration Conflicts & Risks in Software DevelopmentEarly Detection of Collaboration Conflicts & Risks in Software Development
Early Detection of Collaboration Conflicts & Risks in Software Development
 
Jsp Tin2010
Jsp Tin2010Jsp Tin2010
Jsp Tin2010
 
QuaP2P Kickoff Slides 2006
QuaP2P Kickoff Slides 2006QuaP2P Kickoff Slides 2006
QuaP2P Kickoff Slides 2006
 
On the Malware Detection Problem: Challenges & Novel Approaches
On the Malware Detection Problem: Challenges & Novel ApproachesOn the Malware Detection Problem: Challenges & Novel Approaches
On the Malware Detection Problem: Challenges & Novel Approaches
 
Big(ger) Data in Software Engineering
Big(ger) Data in Software EngineeringBig(ger) Data in Software Engineering
Big(ger) Data in Software Engineering
 
SFSCon19 - Kristian Schwienbacher - Custom error and event tracking for Ember...
SFSCon19 - Kristian Schwienbacher - Custom error and event tracking for Ember...SFSCon19 - Kristian Schwienbacher - Custom error and event tracking for Ember...
SFSCon19 - Kristian Schwienbacher - Custom error and event tracking for Ember...
 
A Longitudinal Study on the Maintainers' Sentiment of a Large Scale Open Sour...
A Longitudinal Study on the Maintainers' Sentiment of a Large Scale Open Sour...A Longitudinal Study on the Maintainers' Sentiment of a Large Scale Open Sour...
A Longitudinal Study on the Maintainers' Sentiment of a Large Scale Open Sour...
 
A Method to Detect License Inconsistencies for Large-Scale Open Source Projects
A Method to Detect License Inconsistencies for Large-Scale Open Source ProjectsA Method to Detect License Inconsistencies for Large-Scale Open Source Projects
A Method to Detect License Inconsistencies for Large-Scale Open Source Projects
 
The Use of Development History in Software Refactoring Using a Multi-Objectiv...
The Use of Development History in Software Refactoring Using a Multi-Objectiv...The Use of Development History in Software Refactoring Using a Multi-Objectiv...
The Use of Development History in Software Refactoring Using a Multi-Objectiv...
 
03. HAMS - Project Scheduling
03. HAMS - Project Scheduling03. HAMS - Project Scheduling
03. HAMS - Project Scheduling
 
Analysis and detection of computer viruses and worms
Analysis and detection of computer viruses and wormsAnalysis and detection of computer viruses and worms
Analysis and detection of computer viruses and worms
 
Adaptation of the technology of the static code analyzer for developing paral...
Adaptation of the technology of the static code analyzer for developing paral...Adaptation of the technology of the static code analyzer for developing paral...
Adaptation of the technology of the static code analyzer for developing paral...
 
All You Need to Know to Win a Cybersecurity Adversarial Machine Learning Comp...
All You Need to Know to Win a Cybersecurity Adversarial Machine Learning Comp...All You Need to Know to Win a Cybersecurity Adversarial Machine Learning Comp...
All You Need to Know to Win a Cybersecurity Adversarial Machine Learning Comp...
 
Effects of Ownership on Software Quality
 Effects of Ownership on Software Quality Effects of Ownership on Software Quality
Effects of Ownership on Software Quality
 
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 ...
 

Similar to Social Debt Analytics for Improving Software Evolution

ICSME 2016 keynote: An ecosystemic and socio-technical view on software maint...
ICSME 2016 keynote: An ecosystemic and socio-technical view on software maint...ICSME 2016 keynote: An ecosystemic and socio-technical view on software maint...
ICSME 2016 keynote: An ecosystemic and socio-technical view on software maint...Tom Mens
 
From Technical to Social Debt: Analyzing Software Development Communities usi...
From Technical to Social Debt: Analyzing Software Development Communities usi...From Technical to Social Debt: Analyzing Software Development Communities usi...
From Technical to Social Debt: Analyzing Software Development Communities usi...Damian Tamburri
 
Personal Note On Software Engineering
Personal Note On Software EngineeringPersonal Note On Software Engineering
Personal Note On Software EngineeringHeidi Maestas
 
Synopsis minor project
Synopsis minor projectSynopsis minor project
Synopsis minor projectNidhi Chauhan
 
1. Emergence of Software EngineeringIn the software industry, we.docx
1. Emergence of Software EngineeringIn the software industry, we.docx1. Emergence of Software EngineeringIn the software industry, we.docx
1. Emergence of Software EngineeringIn the software industry, we.docxjackiewalcutt
 
Final Project Report on Information Systems Project Management
Final Project Report on Information Systems Project ManagementFinal Project Report on Information Systems Project Management
Final Project Report on Information Systems Project ManagementAbbas Ahmed
 
Semantic Technology Solutions For Recovery Gov And Data Gov With Transparenc...
Semantic Technology Solutions For Recovery Gov And  Data Gov With Transparenc...Semantic Technology Solutions For Recovery Gov And  Data Gov With Transparenc...
Semantic Technology Solutions For Recovery Gov And Data Gov With Transparenc...Mills Davis
 
Open Source Software Survivability Analysis Using Communication Pattern Valid...
Open Source Software Survivability Analysis Using Communication Pattern Valid...Open Source Software Survivability Analysis Using Communication Pattern Valid...
Open Source Software Survivability Analysis Using Communication Pattern Valid...IOSR Journals
 
Is software engineering research addressing software engineering problems?
Is software engineering research addressing software engineering problems?Is software engineering research addressing software engineering problems?
Is software engineering research addressing software engineering problems?Gail Murphy
 
How software is transforming the u.s. economy 080517
How software is transforming the u.s. economy 080517How software is transforming the u.s. economy 080517
How software is transforming the u.s. economy 080517Economic Strategy Institute
 
How software is transforming the u.s. economy 070517
How software is transforming the u.s. economy 070517How software is transforming the u.s. economy 070517
How software is transforming the u.s. economy 070517Economic Strategy Institute
 
Three Foreseeable Tech Trends for Business in the Year 2011
Three Foreseeable Tech Trends for Business in the Year 2011Three Foreseeable Tech Trends for Business in the Year 2011
Three Foreseeable Tech Trends for Business in the Year 2011Softweb Solutions
 
Semantic Technology Solutions For Gov 2 0 Citizen-Friendly Recovery.Gov and D...
Semantic Technology Solutions For Gov 2 0 Citizen-Friendly Recovery.Gov and D...Semantic Technology Solutions For Gov 2 0 Citizen-Friendly Recovery.Gov and D...
Semantic Technology Solutions For Gov 2 0 Citizen-Friendly Recovery.Gov and D...ajmalik
 
Architecting-Flow-in-SE.pdf
Architecting-Flow-in-SE.pdfArchitecting-Flow-in-SE.pdf
Architecting-Flow-in-SE.pdfGail Murphy
 
How Requirement Engineering And The Saudi Software Firms...
How Requirement Engineering And The Saudi Software Firms...How Requirement Engineering And The Saudi Software Firms...
How Requirement Engineering And The Saudi Software Firms...Liz Sims
 
We are excited to announce that our new State of Software Security (SOSS) rep...
We are excited to announce that our new State of Software Security (SOSS) rep...We are excited to announce that our new State of Software Security (SOSS) rep...
We are excited to announce that our new State of Software Security (SOSS) rep...Ampliz
 
The State of Software Security 2022 SOSS - Solution
The  State of Software Security 2022 SOSS - SolutionThe  State of Software Security 2022 SOSS - Solution
The State of Software Security 2022 SOSS - SolutionNeelKamalSingh8
 

Similar to Social Debt Analytics for Improving Software Evolution (20)

ICSME 2016 keynote: An ecosystemic and socio-technical view on software maint...
ICSME 2016 keynote: An ecosystemic and socio-technical view on software maint...ICSME 2016 keynote: An ecosystemic and socio-technical view on software maint...
ICSME 2016 keynote: An ecosystemic and socio-technical view on software maint...
 
From Technical to Social Debt: Analyzing Software Development Communities usi...
From Technical to Social Debt: Analyzing Software Development Communities usi...From Technical to Social Debt: Analyzing Software Development Communities usi...
From Technical to Social Debt: Analyzing Software Development Communities usi...
 
Personal Note On Software Engineering
Personal Note On Software EngineeringPersonal Note On Software Engineering
Personal Note On Software Engineering
 
Synopsis minor project
Synopsis minor projectSynopsis minor project
Synopsis minor project
 
1. Emergence of Software EngineeringIn the software industry, we.docx
1. Emergence of Software EngineeringIn the software industry, we.docx1. Emergence of Software EngineeringIn the software industry, we.docx
1. Emergence of Software EngineeringIn the software industry, we.docx
 
Synopsis ( Code Smells)
Synopsis ( Code Smells)Synopsis ( Code Smells)
Synopsis ( Code Smells)
 
Final Project Report on Information Systems Project Management
Final Project Report on Information Systems Project ManagementFinal Project Report on Information Systems Project Management
Final Project Report on Information Systems Project Management
 
Semantic Technology Solutions For Recovery Gov And Data Gov With Transparenc...
Semantic Technology Solutions For Recovery Gov And  Data Gov With Transparenc...Semantic Technology Solutions For Recovery Gov And  Data Gov With Transparenc...
Semantic Technology Solutions For Recovery Gov And Data Gov With Transparenc...
 
Open Source Software Survivability Analysis Using Communication Pattern Valid...
Open Source Software Survivability Analysis Using Communication Pattern Valid...Open Source Software Survivability Analysis Using Communication Pattern Valid...
Open Source Software Survivability Analysis Using Communication Pattern Valid...
 
Is software engineering research addressing software engineering problems?
Is software engineering research addressing software engineering problems?Is software engineering research addressing software engineering problems?
Is software engineering research addressing software engineering problems?
 
How software is transforming the U.S. economy
How software is transforming the U.S. economy How software is transforming the U.S. economy
How software is transforming the U.S. economy
 
How software is transforming the u.s. economy 080517
How software is transforming the u.s. economy 080517How software is transforming the u.s. economy 080517
How software is transforming the u.s. economy 080517
 
How software is transforming the u.s. economy 070517
How software is transforming the u.s. economy 070517How software is transforming the u.s. economy 070517
How software is transforming the u.s. economy 070517
 
Three Foreseeable Tech Trends for Business in the Year 2011
Three Foreseeable Tech Trends for Business in the Year 2011Three Foreseeable Tech Trends for Business in the Year 2011
Three Foreseeable Tech Trends for Business in the Year 2011
 
lecture 1-5.pdf
lecture 1-5.pdflecture 1-5.pdf
lecture 1-5.pdf
 
Semantic Technology Solutions For Gov 2 0 Citizen-Friendly Recovery.Gov and D...
Semantic Technology Solutions For Gov 2 0 Citizen-Friendly Recovery.Gov and D...Semantic Technology Solutions For Gov 2 0 Citizen-Friendly Recovery.Gov and D...
Semantic Technology Solutions For Gov 2 0 Citizen-Friendly Recovery.Gov and D...
 
Architecting-Flow-in-SE.pdf
Architecting-Flow-in-SE.pdfArchitecting-Flow-in-SE.pdf
Architecting-Flow-in-SE.pdf
 
How Requirement Engineering And The Saudi Software Firms...
How Requirement Engineering And The Saudi Software Firms...How Requirement Engineering And The Saudi Software Firms...
How Requirement Engineering And The Saudi Software Firms...
 
We are excited to announce that our new State of Software Security (SOSS) rep...
We are excited to announce that our new State of Software Security (SOSS) rep...We are excited to announce that our new State of Software Security (SOSS) rep...
We are excited to announce that our new State of Software Security (SOSS) rep...
 
The State of Software Security 2022 SOSS - Solution
The  State of Software Security 2022 SOSS - SolutionThe  State of Software Security 2022 SOSS - Solution
The State of Software Security 2022 SOSS - Solution
 

More from Fabio Palomba

Does Refactoring of Test Smells Induce Fixing Flaky Tests?
Does Refactoring of Test Smells Induce Fixing Flaky Tests?Does Refactoring of Test Smells Induce Fixing Flaky Tests?
Does Refactoring of Test Smells Induce Fixing Flaky Tests?Fabio Palomba
 
Extract Package Refactoring in ARIES
Extract Package Refactoring in ARIESExtract Package Refactoring in ARIES
Extract Package Refactoring in ARIESFabio Palomba
 
Textual Analysis for Code Smell Detection
Textual Analysis for Code Smell DetectionTextual Analysis for Code Smell Detection
Textual Analysis for Code Smell DetectionFabio Palomba
 
ARIES: An Eclipse Plug-in To Support Extract Class Refactoring
ARIES: An Eclipse Plug-in To Support Extract Class RefactoringARIES: An Eclipse Plug-in To Support Extract Class Refactoring
ARIES: An Eclipse Plug-in To Support Extract Class RefactoringFabio Palomba
 
Next! - An Android application to support tourists activities
Next! - An Android application to support tourists activitiesNext! - An Android application to support tourists activities
Next! - An Android application to support tourists activitiesFabio Palomba
 
A false digital alibi on Mac OS X
A false digital alibi on Mac OS XA false digital alibi on Mac OS X
A false digital alibi on Mac OS XFabio Palomba
 
Un plug-in Eclipse per il supporto all'Extract Class Refactoring
Un plug-in Eclipse per il supporto all'Extract Class RefactoringUn plug-in Eclipse per il supporto all'Extract Class Refactoring
Un plug-in Eclipse per il supporto all'Extract Class RefactoringFabio Palomba
 

More from Fabio Palomba (8)

Does Refactoring of Test Smells Induce Fixing Flaky Tests?
Does Refactoring of Test Smells Induce Fixing Flaky Tests?Does Refactoring of Test Smells Induce Fixing Flaky Tests?
Does Refactoring of Test Smells Induce Fixing Flaky Tests?
 
Extract Package Refactoring in ARIES
Extract Package Refactoring in ARIESExtract Package Refactoring in ARIES
Extract Package Refactoring in ARIES
 
Textual Analysis for Code Smell Detection
Textual Analysis for Code Smell DetectionTextual Analysis for Code Smell Detection
Textual Analysis for Code Smell Detection
 
ARIES: An Eclipse Plug-in To Support Extract Class Refactoring
ARIES: An Eclipse Plug-in To Support Extract Class RefactoringARIES: An Eclipse Plug-in To Support Extract Class Refactoring
ARIES: An Eclipse Plug-in To Support Extract Class Refactoring
 
People management
People managementPeople management
People management
 
Next! - An Android application to support tourists activities
Next! - An Android application to support tourists activitiesNext! - An Android application to support tourists activities
Next! - An Android application to support tourists activities
 
A false digital alibi on Mac OS X
A false digital alibi on Mac OS XA false digital alibi on Mac OS X
A false digital alibi on Mac OS X
 
Un plug-in Eclipse per il supporto all'Extract Class Refactoring
Un plug-in Eclipse per il supporto all'Extract Class RefactoringUn plug-in Eclipse per il supporto all'Extract Class Refactoring
Un plug-in Eclipse per il supporto all'Extract Class Refactoring
 

Recently uploaded

What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...Technogeeks
 
英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作qr0udbr0
 
Best Web Development Agency- Idiosys USA.pdf
Best Web Development Agency- Idiosys USA.pdfBest Web Development Agency- Idiosys USA.pdf
Best Web Development Agency- Idiosys USA.pdfIdiosysTechnologies1
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio, Inc.
 
Xen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdfXen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdfStefano Stabellini
 
Buds n Tech IT Solutions: Top-Notch Web Services in Noida
Buds n Tech IT Solutions: Top-Notch Web Services in NoidaBuds n Tech IT Solutions: Top-Notch Web Services in Noida
Buds n Tech IT Solutions: Top-Notch Web Services in Noidabntitsolutionsrishis
 
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesŁukasz Chruściel
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024StefanoLambiase
 
How to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationHow to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationBradBedford3
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityNeo4j
 
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...OnePlan Solutions
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...stazi3110
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfAlina Yurenko
 
Odoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 EnterpriseOdoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 Enterprisepreethippts
 
How to Track Employee Performance A Comprehensive Guide.pdf
How to Track Employee Performance A Comprehensive Guide.pdfHow to Track Employee Performance A Comprehensive Guide.pdf
How to Track Employee Performance A Comprehensive Guide.pdfLivetecs LLC
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxTier1 app
 
What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....kzayra69
 
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Natan Silnitsky
 

Recently uploaded (20)

What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...
 
英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作
 
Best Web Development Agency- Idiosys USA.pdf
Best Web Development Agency- Idiosys USA.pdfBest Web Development Agency- Idiosys USA.pdf
Best Web Development Agency- Idiosys USA.pdf
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
 
Xen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdfXen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdf
 
Buds n Tech IT Solutions: Top-Notch Web Services in Noida
Buds n Tech IT Solutions: Top-Notch Web Services in NoidaBuds n Tech IT Solutions: Top-Notch Web Services in Noida
Buds n Tech IT Solutions: Top-Notch Web Services in Noida
 
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New Features
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
 
How to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationHow to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion Application
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered Sustainability
 
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
 
Advantages of Odoo ERP 17 for Your Business
Advantages of Odoo ERP 17 for Your BusinessAdvantages of Odoo ERP 17 for Your Business
Advantages of Odoo ERP 17 for Your Business
 
Odoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 EnterpriseOdoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 Enterprise
 
How to Track Employee Performance A Comprehensive Guide.pdf
How to Track Employee Performance A Comprehensive Guide.pdfHow to Track Employee Performance A Comprehensive Guide.pdf
How to Track Employee Performance A Comprehensive Guide.pdf
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
 
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort ServiceHot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
 
What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....
 
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
 

Social Debt Analytics for Improving Software Evolution

  • 1. Social Debt Analytics for Improving the Management of Software Evolution Tasks Fabio Palomba*#, Alexander Serebrenik#, Andy Zaidman* *Delft University of Technology, #Eindhoven University of Technology, The Netherlands
  • 2. “Software and systems complexity is not solely of technological nature but also defined by people and processes” Netherlands Knowledge and Innovation Agenda ICT 2016-2019
  • 3. Social and Organizational factors are highly relevant for the success of a software project M. Conway, “How do committees invent”, 1968.
  • 4. Social and Organizational factors are highly relevant for the success of a software project M. Conway, “How do committees invent”, 1968. There is alignment between coordination requirements extracted from technical dependencies among tasks and the actual coordination activities performed by the developers
  • 5. Unfortunately, the software evolution community mainly focused on technical aspects of software systems, like software quality management
  • 6. While software communities have mainly been studied from an evolutionary point of view, whereas some work investigated the impact of socio-technical congruence on developers’ productivity or software build success
  • 7. What about the intersection between social and technical aspects of software systems?
  • 8. We cannot separate the technical side of a product from the surrounding environment
  • 9. Our Goal Studying how community-related factors influence technical aspects of software products, with the aim of producing community-aware software evolution tools
  • 10. Our Goal The relationship between social debt 
 and technical tasks
  • 12. Social vs Technical Debt Social debt is represented by patterns across the organizational structure of a system that may lead to additional unforeseen project costs. [Tamburri et al. “What is Social Debt in Software Engineering?”
 ICSE 2013, pp. 40-49]
  • 13. Social vs Technical Debt Technical debt is represented by bad practices applied by developers that may lead to additional project costs. Social debt is represented by patterns across the organizational structure of a system that may lead to additional unforeseen project costs. [Tamburri et al. “What is Social Debt in Software Engineering?”
 ICSE 2013, pp. 40-49] W. Cunningham. “The wycash portfolio management system”. SIGPLAN OOPS Mess., 4(2):29–30.
  • 14. Community vs Code Smells Organizational Silo Effect Tamburri et al., “The architect’s role in community shepherding”, IEEE Software, 33(6):70–79, 2016.
  • 15. Community vs Code Smells Organizational Silo Effect Tamburri et al., “The architect’s role in community shepherding”, IEEE Software, 33(6):70–79, 2016.
  • 16. GOD CLASS Community vs Code Smells
  • 17. Community vs Code Smells Are they connected?
  • 18. Community vs Code Smells Sub-communities that do not communicate with each other might be not able to come up with a correct way to modularize the different modules of the systems. Thus, they might introduce architectural or code smells
  • 19. Community vs Code Smells “The creation of extremely complex and poorly cohesive classes in presence of non- communicating sub-teams is quite common because in such a scenario developers do not share information with each other about the ideal structure to implement, therefore creating classes that perform a lot of different things”. [A developer surveyed in the context of our research] The Importance of Social Aspects
  • 20. Community vs Bugs ! The presence of community smells might lead to communication overhead causing delays in bug triaging and resolution activities
  • 21. Community vs Bugs ! The presence of community smells might lead to communication overhead causing delays in bug triaging and resolution activities Missing some information, developers might introduce new bugs
  • 22. Community vs Bugs ! The presence of community smells might lead to communication overhead causing delays in bug triaging and resolution activities Missing some information, developers might introduce new bugs Missing some information, developers might not be able to solve bugs, causing higher bug tossing
  • 23. Community vs Code Review ! The presence of community smells might lead to communication overhead causing delays in review triaging and review time
  • 24. Community vs Code Review ! The presence of community smells might lead to communication overhead causing delays in review triaging and review time Missing some information, developers might not properly perform good code reviews
  • 25. Poor communication between developers might cause higher rework or even misunderstanding of the requirements, causing higher effort for developers Community vs Effort !
  • 26. The presence of community smells might be used as additional information to improve the estimation of costs of maintenance tasks Poor communication between developers might cause higher rework or even misunderstanding of the requirements, causing higher effort for developers Community vs Effort !
  • 27.
  • 28. Social Debt Analytics for Improving the Management 
 of Software Evolution Tasks
 HOW TO
  • 29. A complex problem Measuring the Impact of Social Debt ?
  • 30. A complex problem Measuring the Impact of Social Debt ?Statistical Modeling and Machine Learning Methods relating a set of socio-technical factors to the considered variable
  • 31. A complex problem Measuring the Impact of Social Debt ?Statistical Modeling and Machine Learning Methods relating a set of socio-technical factors to the considered variable Establishing Causality
  • 32. A complex problem Measuring the Impact of Social Debt ?Statistical Modeling and Machine Learning Methods relating a set of socio-technical factors to the considered variable Establishing Causality The key is taking into account the possible socio- technical factors possibly biasing the observations. More importantly, involving developers and companies is fundamental to understand the results
  • 33. The case of code smells Technical Factors Social Factors LOC CBO Total number of commits on a class Code Churns Commit and Project Tenure Code Smell Persistence Fault-proneness Socio-technical congruence Truck-factor Core-Periphery Ratio Turnover Smelly Quitters
  • 34. The case of code smells Basic Model Basic + Community Smells Basic + Community Smells + Social Factors Technical Factors Technical Factors Technical Factors Community Smells Community Smells Social Factors
  • 35. The case of code smells Basic Model Basic + Community Smells Basic + Community Smells + Social Factors Technical Factors Technical Factors Technical Factors Community Smells Community Smells Social Factors We controlled the extent to which community smells can explain the phenomenon
  • 36. The case of code smells We complemented the quantitative analyses by asking to 5 project managers to reason about possible scenarios occurring in a real context
  • 37. The case of code smells We complemented the quantitative analyses by asking to 5 project managers to reason about possible scenarios occurring in a real context Given a scenario where a community smell exists
  • 38. The case of code smells We complemented the quantitative analyses by asking to 5 project managers to reason about possible scenarios occurring in a real context Given a scenario where a community smell exists Consequences
  • 39. A complex problem ?NO CLEAR ANSWERS! NO SILVER BULLETS!
  • 40. Social Debt Analytics for Improving the Management of Software Evolution Tasks Fabio Palomba*#, Alexander Serebrenik#, Andy Zaidman* *Delft University of Technology, #Eindhoven University of Technology, The Netherlands
  • 41. The 2nd International Workshop on Machine Learning Techniques for Software Quality Evaluation Abstract Deadline: 
 Full Paper Submission: January 12nd, 2018
 January 19th, 2018 https://maltesque.github.io