SlideShare ist ein Scribd-Unternehmen logo
1 von 45
Recommending Refactorings based 
on Team Co-Maintenance Patterns 
Gabriele Sebastiano Nikolaos Massimiliano Rocco Gerardo 
Bavota Panichella Tsantalis Di Penta Oliveto Canfora 
9/18/2014
Outline 
Context and Motivations 
- Software Development 
- Team based Refactoring (TBR) for restructuring source code 
Case Study 
- User Study: releases of the Android APIs 
Results 
- Evaluation of TBR and comparison with the state of the art 
9/18/2014
Refactoring is… 
9/18/2014 
‘‘…a disciplined technique for restructuring an 
existing body of code, altering its internal 
structure without changing its external 
behavior’’. [Fowler 1999]
Refactoring Sources of Information 
- Refactoring operation need to capturing relation between code 
components. 
- Various are the explored sources of information: 
- Structural (Static and Dynamic); 
- Semantic; 
- Historical. 
9/18/2014
Structural Information 
- calls between methods, shared attributes, call relationships 
9/18/2014 
occurring during program execution. 
Pros: 
- precise information; 
- easy to capture; 
- always available. 
Cons: 
- may be imprecise; 
- may miss some kinds 
of dependencies.
Semantic Information 
9/18/2014
Semantic Information 
- Textual similarity between code components. 
9/18/2014
Semantic Information 
9/18/2014 
Pros: 
- easy to capture; 
- always available. 
Cons: 
- Assumption that 
terms are consistently 
used in the code 
- Textual similarity between code components.
Historical Information 
9/18/2014 
Fabio Palomba et al. in ‘’Detecting bad smells in source code using 
change history information.’’’ - ASE 2013.
Historical Information 
9/18/2014 
Fabio Palomba et al. in ‘’Detecting bad smells in source code using 
change history information.’’’ - ASE 2013.
Historical Information 
9/18/2014 
Pros: 
- precise information. 
Cons: 
- too strong to capture. 
Fabio Palomba et al. in ‘’Detecting bad smells in source code using 
change history information.’’’ - ASE 2013.
Are we Missing other Kinds of Dependencies? 
9/18/2014
Are we Missing other Kinds of Dependencies? 
Software development is a very human 
intensive activity…. 
9/18/2014
Social Dimension 
9/18/2014 
Time interval 
considered
Social Dimension 
9/18/2014 
Time interval 
considered
Team-based Refactoring Opportunity 
9/18/2014
Team-based Refactoring Opportunity 
9/18/2014 
Extract Class
Our Contribution 
Team Based Refactoring (TBR): 
Information derived from teams to identify 
refactoring opportunities. 
9/18/2014
Our Contribution 
9/18/2014 
1) Teams identification 
2) Detection of Refactoring 
opportunities (e.g. extract 
class refactoring) 
Team Based Refactoring (TBR): 
Information derived from teams to identify 
refactoring opportunities.
Teams Identification 
9/18/2014 
Time
Teams Identification 
9/18/2014 
Time 
Time window 
considered
Teams Identification 
9/18/2014 
Time 
Time window 
considered 
Class 1 
Class 3 
Class 2 
Class 4
Teams Identification 
9/18/2014 
Time 
Time window 
considered 
Class 1 
Class 3 
Class 2 
Class 4
Teams Identification 
9/18/2014 
Time 
Time window 
considered 
Class 1 
Class 3 
Class 2 
Class 4
Teams Identification 
9/18/2014 
Time 
Time window 
considered 
Class 1 
Class 3 
Class 2 
Class 4
Teams Identification 
9/18/2014 
Time 
Time window 
considered 
Class 1 
Class 3 
Class 2 
Class 4 
Ward's hierarchical clustering
Detection of Refactoring Opportunities 
9/18/2014 
Time window 
considered 
1) Existence of a set of methods owned by a Team 
Class 1 
Class 3 
Class 2 
Class 4
Detection of Refactoring Opportunities 
9/18/2014 
Time window 
considered 
1) Existence of a set of methods owned by a Team 
2) Splitting classes with many responsabilities 
Class 1 
Class 2 
Class 4 
Class 2 –a) 
Class 2 –b) 
Class 3
Detection of Refactoring Opportunities 
9/18/2014 
Time window 
considered 
1) Existence of a set of methods owned by a Team 
2) Splitting classes with many responsabilities 
Class 2 –a) 
Class 2 –b) 
Class 1 
Class 3 
Class 2 
Class 4
Case Study 
Goal: evaluate and compare the quality of the refactoring 
solutions identified by TBR with approaches based on more 
traditional sources. 
Research questions: 
• RQ1: Is the information derived from teams useful to 
identify refactoring opportunities? 
• RQ2: Is the information derived from teams 
complementary to the sources of information typically 
exploited to identify refactoring opportunities? 
9/18/2014
Context 
• Objects: 
Project from Andr. Api Period KLOC 
framework-opt-telephony Aug 2011-Jan 2013 73-78 
framework-base Oct 2008-Jan 2013 534-1,043 
framework-support Feb 2011-Nov 2012 58-61 
sdk Oct 2008-Jan 2013 14-82 
tool-base Nov 2012-Jan 2013 80-134 
• Subjects: 
9/18/2014 
2 PhD students 1 Industrial developer
Useful Refactoring 
solutions 
9/18/2014 
RQ1: Is the information derived from teams 
useful to identify refactoring opportunities? 
74% 
78% 
26% 
22% 
Medium/Low 
perceived effort 
NO YES
Useful Refactoring 
solutions 
9/18/2014 
RQ1: Is the information derived from teams 
useful to identify refactoring opportunities? 
74% 
78% 
26% 
22% 
Medium/Low 
perceived effort 
NO YES
Useful Refactoring 
solutions 
9/18/2014 
RQ1: Is the information derived from teams 
useful to identify refactoring opportunities? 
74% 
78% 
26% 
22% 
Medium/Low 
perceived effort 
NO YES
RQ2: TBR complementarity with other sources 
typically used for identifying refactoring opportunities 
Evaluation: MoJoFM
RQ2: TBR complementarity with other sources 
typically used for identifying refactoring opportunities 
Evaluation: MoJoFM 
1 
6 
2 3 
4 
1 
2 5 
4 
C1 C2 
MoJoFM = 201 move + 0 join = 021
RQ2: TBR complementarity with other sources 
typically used for identifying refactoring opportunities 
5 
Evaluation: MoJoFM 
1 
6 
3 
6 
3 
C1 C2 
2 
4 
1 
2 4 
MoJoFM = 2 3 move + 201 join = 234 
5
RQ2: TBR complementarity with other sources 
typically used for identifying refactoring opportunities 
5 
Evaluation: MoJoFM 
1 
6 
3 
5 
C1 C2 
2 
4 
1 
2 4 
MoJoFM = 3 move + 3 join = 65 
6 
3 
max(∀ mno(Ci,Cj) max(∀ mno(Ci,Cj)
RQ2: TBR complementarity with other sources 
typically used for identifying refactoring opportunities 
70% 
30% 
43% 
35% 
100% 
90% 
80% 
70% 
60% 
50% 
40% 
30% 
20% 
10% 
0% 
Structural U 
Semantic U 
Historical 
Structural Semantic Historical
RQ2: TBR complementarity with other sources 
typically used for identifying refactoring opportunities 
70% 
30% 
43% 
35% 
100% 
90% 
80% 
70% 
60% 
50% 
40% 
30% 
20% 
10% 
0% 
Structural U 
Semantic U 
Historical 
Structural Semantic Historical
41 
Conclusion 
9/18/2014
42 
Conclusion 
9/18/2014
43 
Conclusion 
9/18/2014
44 
Conclusion 
9/18/2014
45 
Conclusion 
9/18/2014

Weitere ähnliche Inhalte

Andere mochten auch

Development Emails Content Analyzer: Intention Mining in Developer Discussions
Development Emails Content Analyzer: Intention Mining in Developer DiscussionsDevelopment Emails Content Analyzer: Intention Mining in Developer Discussions
Development Emails Content Analyzer: Intention Mining in Developer DiscussionsSebastiano Panichella
 
ICPC 2011 - Improving IR-based Traceability Recovery Using Smoothing Filters
ICPC 2011 - Improving IR-based Traceability Recovery Using Smoothing FiltersICPC 2011 - Improving IR-based Traceability Recovery Using Smoothing Filters
ICPC 2011 - Improving IR-based Traceability Recovery Using Smoothing FiltersSebastiano Panichella
 
The treadstone updates 26 july 2014
The treadstone updates 26 july 2014The treadstone updates 26 july 2014
The treadstone updates 26 july 2014aiesechyderabad
 
Designing for Shared Regulatory Processes in CSCL (CSCL 2013 -Workshop)
Designing for Shared Regulatory Processes in CSCL (CSCL 2013 -Workshop)Designing for Shared Regulatory Processes in CSCL (CSCL 2013 -Workshop)
Designing for Shared Regulatory Processes in CSCL (CSCL 2013 -Workshop)TieLab
 
Tracking CIM - internal communication
Tracking CIM -  internal communicationTracking CIM -  internal communication
Tracking CIM - internal communicationaiesechyderabad
 
Towards a Transdiciplinary Curriculum
Towards a Transdiciplinary CurriculumTowards a Transdiciplinary Curriculum
Towards a Transdiciplinary Curriculummsilberberg
 
Im and o '13 april lc day review
Im and o '13 april lc day reviewIm and o '13 april lc day review
Im and o '13 april lc day reviewaiesechyderabad
 
Module 2 vocabulary- La comida
Module 2 vocabulary- La comidaModule 2 vocabulary- La comida
Module 2 vocabulary- La comidaHA MFL Department
 
24 x 7 leadership factory
24 x 7 leadership factory24 x 7 leadership factory
24 x 7 leadership factoryaiesechyderabad
 
Sidekick(complete)
Sidekick(complete)Sidekick(complete)
Sidekick(complete)halo4robo
 
Saving your search on Milkround+
Saving your search on Milkround+Saving your search on Milkround+
Saving your search on Milkround+Milkround
 

Andere mochten auch (20)

Palladium
PalladiumPalladium
Palladium
 
Development Emails Content Analyzer: Intention Mining in Developer Discussions
Development Emails Content Analyzer: Intention Mining in Developer DiscussionsDevelopment Emails Content Analyzer: Intention Mining in Developer Discussions
Development Emails Content Analyzer: Intention Mining in Developer Discussions
 
Esprit july updates
Esprit july updatesEsprit july updates
Esprit july updates
 
ICPC 2011 - Improving IR-based Traceability Recovery Using Smoothing Filters
ICPC 2011 - Improving IR-based Traceability Recovery Using Smoothing FiltersICPC 2011 - Improving IR-based Traceability Recovery Using Smoothing Filters
ICPC 2011 - Improving IR-based Traceability Recovery Using Smoothing Filters
 
The treadstone updates 26 july 2014
The treadstone updates 26 july 2014The treadstone updates 26 july 2014
The treadstone updates 26 july 2014
 
Designing for Shared Regulatory Processes in CSCL (CSCL 2013 -Workshop)
Designing for Shared Regulatory Processes in CSCL (CSCL 2013 -Workshop)Designing for Shared Regulatory Processes in CSCL (CSCL 2013 -Workshop)
Designing for Shared Regulatory Processes in CSCL (CSCL 2013 -Workshop)
 
Vistaar Updates
Vistaar UpdatesVistaar Updates
Vistaar Updates
 
Tracking CIM - internal communication
Tracking CIM -  internal communicationTracking CIM -  internal communication
Tracking CIM - internal communication
 
Towards a Transdiciplinary Curriculum
Towards a Transdiciplinary CurriculumTowards a Transdiciplinary Curriculum
Towards a Transdiciplinary Curriculum
 
Im and o '13 april lc day review
Im and o '13 april lc day reviewIm and o '13 april lc day review
Im and o '13 april lc day review
 
Tm review
Tm  reviewTm  review
Tm review
 
HA y mi escuela de primaria
HA y mi escuela de primariaHA y mi escuela de primaria
HA y mi escuela de primaria
 
Module 2 vocabulary- La comida
Module 2 vocabulary- La comidaModule 2 vocabulary- La comida
Module 2 vocabulary- La comida
 
24 x 7 leadership factory
24 x 7 leadership factory24 x 7 leadership factory
24 x 7 leadership factory
 
Showcase
ShowcaseShowcase
Showcase
 
Sidekick(complete)
Sidekick(complete)Sidekick(complete)
Sidekick(complete)
 
Monitor
MonitorMonitor
Monitor
 
Constraints
ConstraintsConstraints
Constraints
 
La publicidad 51212
La publicidad 51212La publicidad 51212
La publicidad 51212
 
Saving your search on Milkround+
Saving your search on Milkround+Saving your search on Milkround+
Saving your search on Milkround+
 

Ähnlich wie Recommending Refactorings based on Team Co-Maintenance Patterns

Standard Datasets in Information Retrieval
Standard Datasets in Information Retrieval Standard Datasets in Information Retrieval
Standard Datasets in Information Retrieval Jean Brenda
 
ARIADNE: Report on project metadata standards and thesauri in use
ARIADNE: Report on project metadata standards and thesauri in useARIADNE: Report on project metadata standards and thesauri in use
ARIADNE: Report on project metadata standards and thesauri in useariadnenetwork
 
A Collaborative Document Ranking Model for a Multi-Faceted Search
A Collaborative Document Ranking Model for a Multi-Faceted SearchA Collaborative Document Ranking Model for a Multi-Faceted Search
A Collaborative Document Ranking Model for a Multi-Faceted SearchUPMC - Sorbonne Universities
 
Multilayer Collection Selection and Search of Topically Organized Patents
Multilayer Collection Selection and Search of Topically Organized PatentsMultilayer Collection Selection and Search of Topically Organized Patents
Multilayer Collection Selection and Search of Topically Organized PatentsMike Salampasis
 
Public Administration, Laws Requirements, Natural Language
Public Administration, Laws Requirements, Natural LanguagePublic Administration, Laws Requirements, Natural Language
Public Administration, Laws Requirements, Natural LanguageProjectLearnPAd
 
Show and tell program 04 2014-09-04
Show and tell program 04 2014-09-04Show and tell program 04 2014-09-04
Show and tell program 04 2014-09-04David Phillips
 
AN AUTOMATED APPROACH TO ASSIGN SOFTWARE CHANGE REQUESTS (Ph.D. Presentation)
AN AUTOMATED APPROACH TO ASSIGN SOFTWARE CHANGE REQUESTS (Ph.D. Presentation)AN AUTOMATED APPROACH TO ASSIGN SOFTWARE CHANGE REQUESTS (Ph.D. Presentation)
AN AUTOMATED APPROACH TO ASSIGN SOFTWARE CHANGE REQUESTS (Ph.D. Presentation)yguarata
 
Show and tell program 04 2014-09-04
Show and tell program 04 2014-09-04Show and tell program 04 2014-09-04
Show and tell program 04 2014-09-04nihshowandtell
 
Rapid Qualitative Inquiry (2nd Edition)
Rapid Qualitative Inquiry (2nd Edition)Rapid Qualitative Inquiry (2nd Edition)
Rapid Qualitative Inquiry (2nd Edition)James Beebe
 
Quality Control of NGS Data
Quality Control of NGS Data Quality Control of NGS Data
Quality Control of NGS Data Surya Saha
 
FIT4RRI presentation on training action ath the final review meeting
FIT4RRI presentation on training action ath the final review meetingFIT4RRI presentation on training action ath the final review meeting
FIT4RRI presentation on training action ath the final review meetingPedro Príncipe
 
Feed the Future indicators and the Africa RISING project mapping and monitori...
Feed the Future indicators and the Africa RISING project mapping and monitori...Feed the Future indicators and the Africa RISING project mapping and monitori...
Feed the Future indicators and the Africa RISING project mapping and monitori...africa-rising
 
Discovering emerging effects in Learning Networks with simulations Hendrik Dr...
Discovering emerging effects in Learning Networks with simulations Hendrik Dr...Discovering emerging effects in Learning Networks with simulations Hendrik Dr...
Discovering emerging effects in Learning Networks with simulations Hendrik Dr...Hendrik Drachsler
 
AnalogIST/ezPAARSE: Analysing Locally Gathered Logfiles to Determine Users’ A...
AnalogIST/ezPAARSE: Analysing Locally Gathered Logfiles to Determine Users’ A...AnalogIST/ezPAARSE: Analysing Locally Gathered Logfiles to Determine Users’ A...
AnalogIST/ezPAARSE: Analysing Locally Gathered Logfiles to Determine Users’ A...LIBER Europe
 
The Conclusion for sigir 2011
The Conclusion for sigir 2011The Conclusion for sigir 2011
The Conclusion for sigir 2011Yueshen Xu
 
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
 
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
 
2016 03-16 digital energy luncheon
2016 03-16 digital energy luncheon2016 03-16 digital energy luncheon
2016 03-16 digital energy luncheonMark Reynolds
 

Ähnlich wie Recommending Refactorings based on Team Co-Maintenance Patterns (20)

Standard Datasets in Information Retrieval
Standard Datasets in Information Retrieval Standard Datasets in Information Retrieval
Standard Datasets in Information Retrieval
 
ARIADNE: Report on project metadata standards and thesauri in use
ARIADNE: Report on project metadata standards and thesauri in useARIADNE: Report on project metadata standards and thesauri in use
ARIADNE: Report on project metadata standards and thesauri in use
 
A Collaborative Document Ranking Model for a Multi-Faceted Search
A Collaborative Document Ranking Model for a Multi-Faceted SearchA Collaborative Document Ranking Model for a Multi-Faceted Search
A Collaborative Document Ranking Model for a Multi-Faceted Search
 
Multilayer Collection Selection and Search of Topically Organized Patents
Multilayer Collection Selection and Search of Topically Organized PatentsMultilayer Collection Selection and Search of Topically Organized Patents
Multilayer Collection Selection and Search of Topically Organized Patents
 
Public Administration, Laws Requirements, Natural Language
Public Administration, Laws Requirements, Natural LanguagePublic Administration, Laws Requirements, Natural Language
Public Administration, Laws Requirements, Natural Language
 
Show and tell program 04 2014-09-04
Show and tell program 04 2014-09-04Show and tell program 04 2014-09-04
Show and tell program 04 2014-09-04
 
AN AUTOMATED APPROACH TO ASSIGN SOFTWARE CHANGE REQUESTS (Ph.D. Presentation)
AN AUTOMATED APPROACH TO ASSIGN SOFTWARE CHANGE REQUESTS (Ph.D. Presentation)AN AUTOMATED APPROACH TO ASSIGN SOFTWARE CHANGE REQUESTS (Ph.D. Presentation)
AN AUTOMATED APPROACH TO ASSIGN SOFTWARE CHANGE REQUESTS (Ph.D. Presentation)
 
Show and tell program 04 2014-09-04
Show and tell program 04 2014-09-04Show and tell program 04 2014-09-04
Show and tell program 04 2014-09-04
 
Rapid Qualitative Inquiry (2nd Edition)
Rapid Qualitative Inquiry (2nd Edition)Rapid Qualitative Inquiry (2nd Edition)
Rapid Qualitative Inquiry (2nd Edition)
 
Quality Control of NGS Data
Quality Control of NGS Data Quality Control of NGS Data
Quality Control of NGS Data
 
FIT4RRI presentation on training action ath the final review meeting
FIT4RRI presentation on training action ath the final review meetingFIT4RRI presentation on training action ath the final review meeting
FIT4RRI presentation on training action ath the final review meeting
 
Furuyama - analysis of factors that affect productivity
Furuyama - analysis of factors that affect productivityFuruyama - analysis of factors that affect productivity
Furuyama - analysis of factors that affect productivity
 
Feed the Future indicators and the Africa RISING project mapping and monitori...
Feed the Future indicators and the Africa RISING project mapping and monitori...Feed the Future indicators and the Africa RISING project mapping and monitori...
Feed the Future indicators and the Africa RISING project mapping and monitori...
 
Discovering emerging effects in Learning Networks with simulations Hendrik Dr...
Discovering emerging effects in Learning Networks with simulations Hendrik Dr...Discovering emerging effects in Learning Networks with simulations Hendrik Dr...
Discovering emerging effects in Learning Networks with simulations Hendrik Dr...
 
AnalogIST/ezPAARSE: Analysing Locally Gathered Logfiles to Determine Users’ A...
AnalogIST/ezPAARSE: Analysing Locally Gathered Logfiles to Determine Users’ A...AnalogIST/ezPAARSE: Analysing Locally Gathered Logfiles to Determine Users’ A...
AnalogIST/ezPAARSE: Analysing Locally Gathered Logfiles to Determine Users’ A...
 
The Conclusion for sigir 2011
The Conclusion for sigir 2011The Conclusion for sigir 2011
The Conclusion for sigir 2011
 
Designing your project
Designing your projectDesigning your project
Designing your project
 
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 ...
 
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 ...
 
2016 03-16 digital energy luncheon
2016 03-16 digital energy luncheon2016 03-16 digital energy luncheon
2016 03-16 digital energy luncheon
 

Mehr von Sebastiano Panichella

The 3rd Intl. Workshop on NL-based Software Engineering
The 3rd Intl. Workshop on NL-based Software EngineeringThe 3rd Intl. Workshop on NL-based Software Engineering
The 3rd Intl. Workshop on NL-based Software EngineeringSebastiano Panichella
 
Diversity-guided Search Exploration for Self-driving Cars Test Generation thr...
Diversity-guided Search Exploration for Self-driving Cars Test Generation thr...Diversity-guided Search Exploration for Self-driving Cars Test Generation thr...
Diversity-guided Search Exploration for Self-driving Cars Test Generation thr...Sebastiano Panichella
 
SBFT Tool Competition 2024 -- Python Test Case Generation Track
SBFT Tool Competition 2024 -- Python Test Case Generation TrackSBFT Tool Competition 2024 -- Python Test Case Generation Track
SBFT Tool Competition 2024 -- Python Test Case Generation TrackSebastiano Panichella
 
SBFT Tool Competition 2024 - CPS-UAV Test Case Generation Track
SBFT Tool Competition 2024 - CPS-UAV Test Case Generation TrackSBFT Tool Competition 2024 - CPS-UAV Test Case Generation Track
SBFT Tool Competition 2024 - CPS-UAV Test Case Generation TrackSebastiano Panichella
 
Simulation-based Testing of Unmanned Aerial Vehicles with Aerialist
Simulation-based Testing of Unmanned Aerial Vehicles with AerialistSimulation-based Testing of Unmanned Aerial Vehicles with Aerialist
Simulation-based Testing of Unmanned Aerial Vehicles with AerialistSebastiano Panichella
 
Testing with Fewer Resources: Toward Adaptive Approaches for Cost-effective ...
Testing with Fewer Resources:  Toward Adaptive Approaches for Cost-effective ...Testing with Fewer Resources:  Toward Adaptive Approaches for Cost-effective ...
Testing with Fewer Resources: Toward Adaptive Approaches for Cost-effective ...Sebastiano Panichella
 
COSMOS: DevOps for Complex Cyber-physical Systems
COSMOS: DevOps for Complex Cyber-physical SystemsCOSMOS: DevOps for Complex Cyber-physical Systems
COSMOS: DevOps for Complex Cyber-physical SystemsSebastiano Panichella
 
Testing and Development Challenges for Complex Cyber-Physical Systems: Insigh...
Testing and Development Challenges for Complex Cyber-Physical Systems: Insigh...Testing and Development Challenges for Complex Cyber-Physical Systems: Insigh...
Testing and Development Challenges for Complex Cyber-Physical Systems: Insigh...Sebastiano Panichella
 
An Empirical Characterization of Software Bugs in Open-Source Cyber-Physical ...
An Empirical Characterization of Software Bugs in Open-Source Cyber-Physical ...An Empirical Characterization of Software Bugs in Open-Source Cyber-Physical ...
An Empirical Characterization of Software Bugs in Open-Source Cyber-Physical ...Sebastiano Panichella
 
Automated Identification and Qualitative Characterization of Safety Concerns ...
Automated Identification and Qualitative Characterization of Safety Concerns ...Automated Identification and Qualitative Characterization of Safety Concerns ...
Automated Identification and Qualitative Characterization of Safety Concerns ...Sebastiano Panichella
 
The 2nd Intl. Workshop on NL-based Software Engineering
The 2nd Intl. Workshop on NL-based Software EngineeringThe 2nd Intl. Workshop on NL-based Software Engineering
The 2nd Intl. Workshop on NL-based Software EngineeringSebastiano Panichella
 
The 16th Intl. Workshop on Search-Based and Fuzz Testing
The 16th Intl. Workshop on Search-Based and Fuzz TestingThe 16th Intl. Workshop on Search-Based and Fuzz Testing
The 16th Intl. Workshop on Search-Based and Fuzz TestingSebastiano Panichella
 
Simulation-based Test Case Generation for Unmanned Aerial Vehicles in the Nei...
Simulation-based Test Case Generation for Unmanned Aerial Vehicles in the Nei...Simulation-based Test Case Generation for Unmanned Aerial Vehicles in the Nei...
Simulation-based Test Case Generation for Unmanned Aerial Vehicles in the Nei...Sebastiano Panichella
 
Exposed! A case study on the vulnerability-proneness of Google Play Apps
Exposed! A case study on the vulnerability-proneness of Google Play AppsExposed! A case study on the vulnerability-proneness of Google Play Apps
Exposed! A case study on the vulnerability-proneness of Google Play AppsSebastiano Panichella
 
Search-based Software Testing (SBST) '22
Search-based Software Testing (SBST) '22Search-based Software Testing (SBST) '22
Search-based Software Testing (SBST) '22Sebastiano Panichella
 
NL-based Software Engineering (NLBSE) '22
NL-based Software Engineering (NLBSE) '22NL-based Software Engineering (NLBSE) '22
NL-based Software Engineering (NLBSE) '22Sebastiano Panichella
 
"An NLP-based Tool for Software Artifacts Analysis" at @ICSME2021.
 "An NLP-based Tool for Software Artifacts Analysis" at @ICSME2021.  "An NLP-based Tool for Software Artifacts Analysis" at @ICSME2021.
"An NLP-based Tool for Software Artifacts Analysis" at @ICSME2021. Sebastiano Panichella
 
An Empirical Investigation of Relevant Changes and Automation Needs in Modern...
An Empirical Investigation of Relevant Changes and Automation Needs in Modern...An Empirical Investigation of Relevant Changes and Automation Needs in Modern...
An Empirical Investigation of Relevant Changes and Automation Needs in Modern...Sebastiano Panichella
 
Search-Based Software Testing Tool Competition 2021 by Sebastiano Panichella,...
Search-Based Software Testing Tool Competition 2021 by Sebastiano Panichella,...Search-Based Software Testing Tool Competition 2021 by Sebastiano Panichella,...
Search-Based Software Testing Tool Competition 2021 by Sebastiano Panichella,...Sebastiano Panichella
 

Mehr von Sebastiano Panichella (20)

The 3rd Intl. Workshop on NL-based Software Engineering
The 3rd Intl. Workshop on NL-based Software EngineeringThe 3rd Intl. Workshop on NL-based Software Engineering
The 3rd Intl. Workshop on NL-based Software Engineering
 
Diversity-guided Search Exploration for Self-driving Cars Test Generation thr...
Diversity-guided Search Exploration for Self-driving Cars Test Generation thr...Diversity-guided Search Exploration for Self-driving Cars Test Generation thr...
Diversity-guided Search Exploration for Self-driving Cars Test Generation thr...
 
SBFT Tool Competition 2024 -- Python Test Case Generation Track
SBFT Tool Competition 2024 -- Python Test Case Generation TrackSBFT Tool Competition 2024 -- Python Test Case Generation Track
SBFT Tool Competition 2024 -- Python Test Case Generation Track
 
SBFT Tool Competition 2024 - CPS-UAV Test Case Generation Track
SBFT Tool Competition 2024 - CPS-UAV Test Case Generation TrackSBFT Tool Competition 2024 - CPS-UAV Test Case Generation Track
SBFT Tool Competition 2024 - CPS-UAV Test Case Generation Track
 
Simulation-based Testing of Unmanned Aerial Vehicles with Aerialist
Simulation-based Testing of Unmanned Aerial Vehicles with AerialistSimulation-based Testing of Unmanned Aerial Vehicles with Aerialist
Simulation-based Testing of Unmanned Aerial Vehicles with Aerialist
 
Testing with Fewer Resources: Toward Adaptive Approaches for Cost-effective ...
Testing with Fewer Resources:  Toward Adaptive Approaches for Cost-effective ...Testing with Fewer Resources:  Toward Adaptive Approaches for Cost-effective ...
Testing with Fewer Resources: Toward Adaptive Approaches for Cost-effective ...
 
COSMOS: DevOps for Complex Cyber-physical Systems
COSMOS: DevOps for Complex Cyber-physical SystemsCOSMOS: DevOps for Complex Cyber-physical Systems
COSMOS: DevOps for Complex Cyber-physical Systems
 
Testing and Development Challenges for Complex Cyber-Physical Systems: Insigh...
Testing and Development Challenges for Complex Cyber-Physical Systems: Insigh...Testing and Development Challenges for Complex Cyber-Physical Systems: Insigh...
Testing and Development Challenges for Complex Cyber-Physical Systems: Insigh...
 
An Empirical Characterization of Software Bugs in Open-Source Cyber-Physical ...
An Empirical Characterization of Software Bugs in Open-Source Cyber-Physical ...An Empirical Characterization of Software Bugs in Open-Source Cyber-Physical ...
An Empirical Characterization of Software Bugs in Open-Source Cyber-Physical ...
 
Automated Identification and Qualitative Characterization of Safety Concerns ...
Automated Identification and Qualitative Characterization of Safety Concerns ...Automated Identification and Qualitative Characterization of Safety Concerns ...
Automated Identification and Qualitative Characterization of Safety Concerns ...
 
The 2nd Intl. Workshop on NL-based Software Engineering
The 2nd Intl. Workshop on NL-based Software EngineeringThe 2nd Intl. Workshop on NL-based Software Engineering
The 2nd Intl. Workshop on NL-based Software Engineering
 
The 16th Intl. Workshop on Search-Based and Fuzz Testing
The 16th Intl. Workshop on Search-Based and Fuzz TestingThe 16th Intl. Workshop on Search-Based and Fuzz Testing
The 16th Intl. Workshop on Search-Based and Fuzz Testing
 
Simulation-based Test Case Generation for Unmanned Aerial Vehicles in the Nei...
Simulation-based Test Case Generation for Unmanned Aerial Vehicles in the Nei...Simulation-based Test Case Generation for Unmanned Aerial Vehicles in the Nei...
Simulation-based Test Case Generation for Unmanned Aerial Vehicles in the Nei...
 
Exposed! A case study on the vulnerability-proneness of Google Play Apps
Exposed! A case study on the vulnerability-proneness of Google Play AppsExposed! A case study on the vulnerability-proneness of Google Play Apps
Exposed! A case study on the vulnerability-proneness of Google Play Apps
 
Search-based Software Testing (SBST) '22
Search-based Software Testing (SBST) '22Search-based Software Testing (SBST) '22
Search-based Software Testing (SBST) '22
 
NL-based Software Engineering (NLBSE) '22
NL-based Software Engineering (NLBSE) '22NL-based Software Engineering (NLBSE) '22
NL-based Software Engineering (NLBSE) '22
 
NLBSE’22: Tool Competition
NLBSE’22: Tool CompetitionNLBSE’22: Tool Competition
NLBSE’22: Tool Competition
 
"An NLP-based Tool for Software Artifacts Analysis" at @ICSME2021.
 "An NLP-based Tool for Software Artifacts Analysis" at @ICSME2021.  "An NLP-based Tool for Software Artifacts Analysis" at @ICSME2021.
"An NLP-based Tool for Software Artifacts Analysis" at @ICSME2021.
 
An Empirical Investigation of Relevant Changes and Automation Needs in Modern...
An Empirical Investigation of Relevant Changes and Automation Needs in Modern...An Empirical Investigation of Relevant Changes and Automation Needs in Modern...
An Empirical Investigation of Relevant Changes and Automation Needs in Modern...
 
Search-Based Software Testing Tool Competition 2021 by Sebastiano Panichella,...
Search-Based Software Testing Tool Competition 2021 by Sebastiano Panichella,...Search-Based Software Testing Tool Competition 2021 by Sebastiano Panichella,...
Search-Based Software Testing Tool Competition 2021 by Sebastiano Panichella,...
 

Kürzlich hochgeladen

lONG QUESTION ANSWER PAKISTAN STUDIES10.
lONG QUESTION ANSWER PAKISTAN STUDIES10.lONG QUESTION ANSWER PAKISTAN STUDIES10.
lONG QUESTION ANSWER PAKISTAN STUDIES10.lodhisaajjda
 
Chiulli_Aurora_Oman_Raffaele_Beowulf.pptx
Chiulli_Aurora_Oman_Raffaele_Beowulf.pptxChiulli_Aurora_Oman_Raffaele_Beowulf.pptx
Chiulli_Aurora_Oman_Raffaele_Beowulf.pptxraffaeleoman
 
My Presentation "In Your Hands" by Halle Bailey
My Presentation "In Your Hands" by Halle BaileyMy Presentation "In Your Hands" by Halle Bailey
My Presentation "In Your Hands" by Halle Baileyhlharris
 
Digital collaboration with Microsoft 365 as extension of Drupal
Digital collaboration with Microsoft 365 as extension of DrupalDigital collaboration with Microsoft 365 as extension of Drupal
Digital collaboration with Microsoft 365 as extension of DrupalFabian de Rijk
 
SOLID WASTE MANAGEMENT SYSTEM OF FENI PAURASHAVA, BANGLADESH.pdf
SOLID WASTE MANAGEMENT SYSTEM OF FENI PAURASHAVA, BANGLADESH.pdfSOLID WASTE MANAGEMENT SYSTEM OF FENI PAURASHAVA, BANGLADESH.pdf
SOLID WASTE MANAGEMENT SYSTEM OF FENI PAURASHAVA, BANGLADESH.pdfMahamudul Hasan
 
Dreaming Marissa Sánchez Music Video Treatment
Dreaming Marissa Sánchez Music Video TreatmentDreaming Marissa Sánchez Music Video Treatment
Dreaming Marissa Sánchez Music Video Treatmentnswingard
 
Proofreading- Basics to Artificial Intelligence Integration - Presentation:Sl...
Proofreading- Basics to Artificial Intelligence Integration - Presentation:Sl...Proofreading- Basics to Artificial Intelligence Integration - Presentation:Sl...
Proofreading- Basics to Artificial Intelligence Integration - Presentation:Sl...David Celestin
 
Uncommon Grace The Autobiography of Isaac Folorunso
Uncommon Grace The Autobiography of Isaac FolorunsoUncommon Grace The Autobiography of Isaac Folorunso
Uncommon Grace The Autobiography of Isaac FolorunsoKayode Fayemi
 
Bring back lost lover in USA, Canada ,Uk ,Australia ,London Lost Love Spell C...
Bring back lost lover in USA, Canada ,Uk ,Australia ,London Lost Love Spell C...Bring back lost lover in USA, Canada ,Uk ,Australia ,London Lost Love Spell C...
Bring back lost lover in USA, Canada ,Uk ,Australia ,London Lost Love Spell C...amilabibi1
 
AWS Data Engineer Associate (DEA-C01) Exam Dumps 2024.pdf
AWS Data Engineer Associate (DEA-C01) Exam Dumps 2024.pdfAWS Data Engineer Associate (DEA-C01) Exam Dumps 2024.pdf
AWS Data Engineer Associate (DEA-C01) Exam Dumps 2024.pdfSkillCertProExams
 
The workplace ecosystem of the future 24.4.2024 Fabritius_share ii.pdf
The workplace ecosystem of the future 24.4.2024 Fabritius_share ii.pdfThe workplace ecosystem of the future 24.4.2024 Fabritius_share ii.pdf
The workplace ecosystem of the future 24.4.2024 Fabritius_share ii.pdfSenaatti-kiinteistöt
 
Dreaming Music Video Treatment _ Project & Portfolio III
Dreaming Music Video Treatment _ Project & Portfolio IIIDreaming Music Video Treatment _ Project & Portfolio III
Dreaming Music Video Treatment _ Project & Portfolio IIINhPhngng3
 
If this Giant Must Walk: A Manifesto for a New Nigeria
If this Giant Must Walk: A Manifesto for a New NigeriaIf this Giant Must Walk: A Manifesto for a New Nigeria
If this Giant Must Walk: A Manifesto for a New NigeriaKayode Fayemi
 
Report Writing Webinar Training
Report Writing Webinar TrainingReport Writing Webinar Training
Report Writing Webinar TrainingKylaCullinane
 

Kürzlich hochgeladen (15)

lONG QUESTION ANSWER PAKISTAN STUDIES10.
lONG QUESTION ANSWER PAKISTAN STUDIES10.lONG QUESTION ANSWER PAKISTAN STUDIES10.
lONG QUESTION ANSWER PAKISTAN STUDIES10.
 
Chiulli_Aurora_Oman_Raffaele_Beowulf.pptx
Chiulli_Aurora_Oman_Raffaele_Beowulf.pptxChiulli_Aurora_Oman_Raffaele_Beowulf.pptx
Chiulli_Aurora_Oman_Raffaele_Beowulf.pptx
 
My Presentation "In Your Hands" by Halle Bailey
My Presentation "In Your Hands" by Halle BaileyMy Presentation "In Your Hands" by Halle Bailey
My Presentation "In Your Hands" by Halle Bailey
 
Digital collaboration with Microsoft 365 as extension of Drupal
Digital collaboration with Microsoft 365 as extension of DrupalDigital collaboration with Microsoft 365 as extension of Drupal
Digital collaboration with Microsoft 365 as extension of Drupal
 
SOLID WASTE MANAGEMENT SYSTEM OF FENI PAURASHAVA, BANGLADESH.pdf
SOLID WASTE MANAGEMENT SYSTEM OF FENI PAURASHAVA, BANGLADESH.pdfSOLID WASTE MANAGEMENT SYSTEM OF FENI PAURASHAVA, BANGLADESH.pdf
SOLID WASTE MANAGEMENT SYSTEM OF FENI PAURASHAVA, BANGLADESH.pdf
 
ICT role in 21st century education and it's challenges.pdf
ICT role in 21st century education and it's challenges.pdfICT role in 21st century education and it's challenges.pdf
ICT role in 21st century education and it's challenges.pdf
 
Dreaming Marissa Sánchez Music Video Treatment
Dreaming Marissa Sánchez Music Video TreatmentDreaming Marissa Sánchez Music Video Treatment
Dreaming Marissa Sánchez Music Video Treatment
 
Proofreading- Basics to Artificial Intelligence Integration - Presentation:Sl...
Proofreading- Basics to Artificial Intelligence Integration - Presentation:Sl...Proofreading- Basics to Artificial Intelligence Integration - Presentation:Sl...
Proofreading- Basics to Artificial Intelligence Integration - Presentation:Sl...
 
Uncommon Grace The Autobiography of Isaac Folorunso
Uncommon Grace The Autobiography of Isaac FolorunsoUncommon Grace The Autobiography of Isaac Folorunso
Uncommon Grace The Autobiography of Isaac Folorunso
 
Bring back lost lover in USA, Canada ,Uk ,Australia ,London Lost Love Spell C...
Bring back lost lover in USA, Canada ,Uk ,Australia ,London Lost Love Spell C...Bring back lost lover in USA, Canada ,Uk ,Australia ,London Lost Love Spell C...
Bring back lost lover in USA, Canada ,Uk ,Australia ,London Lost Love Spell C...
 
AWS Data Engineer Associate (DEA-C01) Exam Dumps 2024.pdf
AWS Data Engineer Associate (DEA-C01) Exam Dumps 2024.pdfAWS Data Engineer Associate (DEA-C01) Exam Dumps 2024.pdf
AWS Data Engineer Associate (DEA-C01) Exam Dumps 2024.pdf
 
The workplace ecosystem of the future 24.4.2024 Fabritius_share ii.pdf
The workplace ecosystem of the future 24.4.2024 Fabritius_share ii.pdfThe workplace ecosystem of the future 24.4.2024 Fabritius_share ii.pdf
The workplace ecosystem of the future 24.4.2024 Fabritius_share ii.pdf
 
Dreaming Music Video Treatment _ Project & Portfolio III
Dreaming Music Video Treatment _ Project & Portfolio IIIDreaming Music Video Treatment _ Project & Portfolio III
Dreaming Music Video Treatment _ Project & Portfolio III
 
If this Giant Must Walk: A Manifesto for a New Nigeria
If this Giant Must Walk: A Manifesto for a New NigeriaIf this Giant Must Walk: A Manifesto for a New Nigeria
If this Giant Must Walk: A Manifesto for a New Nigeria
 
Report Writing Webinar Training
Report Writing Webinar TrainingReport Writing Webinar Training
Report Writing Webinar Training
 

Recommending Refactorings based on Team Co-Maintenance Patterns

  • 1. Recommending Refactorings based on Team Co-Maintenance Patterns Gabriele Sebastiano Nikolaos Massimiliano Rocco Gerardo Bavota Panichella Tsantalis Di Penta Oliveto Canfora 9/18/2014
  • 2. Outline Context and Motivations - Software Development - Team based Refactoring (TBR) for restructuring source code Case Study - User Study: releases of the Android APIs Results - Evaluation of TBR and comparison with the state of the art 9/18/2014
  • 3. Refactoring is… 9/18/2014 ‘‘…a disciplined technique for restructuring an existing body of code, altering its internal structure without changing its external behavior’’. [Fowler 1999]
  • 4. Refactoring Sources of Information - Refactoring operation need to capturing relation between code components. - Various are the explored sources of information: - Structural (Static and Dynamic); - Semantic; - Historical. 9/18/2014
  • 5. Structural Information - calls between methods, shared attributes, call relationships 9/18/2014 occurring during program execution. Pros: - precise information; - easy to capture; - always available. Cons: - may be imprecise; - may miss some kinds of dependencies.
  • 7. Semantic Information - Textual similarity between code components. 9/18/2014
  • 8. Semantic Information 9/18/2014 Pros: - easy to capture; - always available. Cons: - Assumption that terms are consistently used in the code - Textual similarity between code components.
  • 9. Historical Information 9/18/2014 Fabio Palomba et al. in ‘’Detecting bad smells in source code using change history information.’’’ - ASE 2013.
  • 10. Historical Information 9/18/2014 Fabio Palomba et al. in ‘’Detecting bad smells in source code using change history information.’’’ - ASE 2013.
  • 11. Historical Information 9/18/2014 Pros: - precise information. Cons: - too strong to capture. Fabio Palomba et al. in ‘’Detecting bad smells in source code using change history information.’’’ - ASE 2013.
  • 12. Are we Missing other Kinds of Dependencies? 9/18/2014
  • 13. Are we Missing other Kinds of Dependencies? Software development is a very human intensive activity…. 9/18/2014
  • 14. Social Dimension 9/18/2014 Time interval considered
  • 15. Social Dimension 9/18/2014 Time interval considered
  • 17. Team-based Refactoring Opportunity 9/18/2014 Extract Class
  • 18. Our Contribution Team Based Refactoring (TBR): Information derived from teams to identify refactoring opportunities. 9/18/2014
  • 19. Our Contribution 9/18/2014 1) Teams identification 2) Detection of Refactoring opportunities (e.g. extract class refactoring) Team Based Refactoring (TBR): Information derived from teams to identify refactoring opportunities.
  • 21. Teams Identification 9/18/2014 Time Time window considered
  • 22. Teams Identification 9/18/2014 Time Time window considered Class 1 Class 3 Class 2 Class 4
  • 23. Teams Identification 9/18/2014 Time Time window considered Class 1 Class 3 Class 2 Class 4
  • 24. Teams Identification 9/18/2014 Time Time window considered Class 1 Class 3 Class 2 Class 4
  • 25. Teams Identification 9/18/2014 Time Time window considered Class 1 Class 3 Class 2 Class 4
  • 26. Teams Identification 9/18/2014 Time Time window considered Class 1 Class 3 Class 2 Class 4 Ward's hierarchical clustering
  • 27. Detection of Refactoring Opportunities 9/18/2014 Time window considered 1) Existence of a set of methods owned by a Team Class 1 Class 3 Class 2 Class 4
  • 28. Detection of Refactoring Opportunities 9/18/2014 Time window considered 1) Existence of a set of methods owned by a Team 2) Splitting classes with many responsabilities Class 1 Class 2 Class 4 Class 2 –a) Class 2 –b) Class 3
  • 29. Detection of Refactoring Opportunities 9/18/2014 Time window considered 1) Existence of a set of methods owned by a Team 2) Splitting classes with many responsabilities Class 2 –a) Class 2 –b) Class 1 Class 3 Class 2 Class 4
  • 30. Case Study Goal: evaluate and compare the quality of the refactoring solutions identified by TBR with approaches based on more traditional sources. Research questions: • RQ1: Is the information derived from teams useful to identify refactoring opportunities? • RQ2: Is the information derived from teams complementary to the sources of information typically exploited to identify refactoring opportunities? 9/18/2014
  • 31. Context • Objects: Project from Andr. Api Period KLOC framework-opt-telephony Aug 2011-Jan 2013 73-78 framework-base Oct 2008-Jan 2013 534-1,043 framework-support Feb 2011-Nov 2012 58-61 sdk Oct 2008-Jan 2013 14-82 tool-base Nov 2012-Jan 2013 80-134 • Subjects: 9/18/2014 2 PhD students 1 Industrial developer
  • 32. Useful Refactoring solutions 9/18/2014 RQ1: Is the information derived from teams useful to identify refactoring opportunities? 74% 78% 26% 22% Medium/Low perceived effort NO YES
  • 33. Useful Refactoring solutions 9/18/2014 RQ1: Is the information derived from teams useful to identify refactoring opportunities? 74% 78% 26% 22% Medium/Low perceived effort NO YES
  • 34. Useful Refactoring solutions 9/18/2014 RQ1: Is the information derived from teams useful to identify refactoring opportunities? 74% 78% 26% 22% Medium/Low perceived effort NO YES
  • 35. RQ2: TBR complementarity with other sources typically used for identifying refactoring opportunities Evaluation: MoJoFM
  • 36. RQ2: TBR complementarity with other sources typically used for identifying refactoring opportunities Evaluation: MoJoFM 1 6 2 3 4 1 2 5 4 C1 C2 MoJoFM = 201 move + 0 join = 021
  • 37. RQ2: TBR complementarity with other sources typically used for identifying refactoring opportunities 5 Evaluation: MoJoFM 1 6 3 6 3 C1 C2 2 4 1 2 4 MoJoFM = 2 3 move + 201 join = 234 5
  • 38. RQ2: TBR complementarity with other sources typically used for identifying refactoring opportunities 5 Evaluation: MoJoFM 1 6 3 5 C1 C2 2 4 1 2 4 MoJoFM = 3 move + 3 join = 65 6 3 max(∀ mno(Ci,Cj) max(∀ mno(Ci,Cj)
  • 39. RQ2: TBR complementarity with other sources typically used for identifying refactoring opportunities 70% 30% 43% 35% 100% 90% 80% 70% 60% 50% 40% 30% 20% 10% 0% Structural U Semantic U Historical Structural Semantic Historical
  • 40. RQ2: TBR complementarity with other sources typically used for identifying refactoring opportunities 70% 30% 43% 35% 100% 90% 80% 70% 60% 50% 40% 30% 20% 10% 0% Structural U Semantic U Historical Structural Semantic Historical