Identification of Extract Method Refactoring Opportunities
Extract method has been recognized as one of the most important refactorings, since it decomposes large methods and can be used in combination with other refactorings for fixing a variety of design problems. However, existing tools and methodologies support extraction of methods based on a set of st...
Saved in:
Published in | 2009 13th European Conference on Software Maintenance and Reengineering pp. 119 - 128 |
---|---|
Main Authors | , |
Format | Conference Proceeding |
Language | English |
Published |
IEEE
01.01.2009
|
Subjects | |
Online Access | Get full text |
Cover
Loading…
Abstract | Extract method has been recognized as one of the most important refactorings, since it decomposes large methods and can be used in combination with other refactorings for fixing a variety of design problems. However, existing tools and methodologies support extraction of methods based on a set of statements selected by the user in the original method. The goal of the proposed methodology is to automatically identify extract method refactoring opportunities and present them as suggestions to the designer of an object-oriented system. The suggested refactorings adhere to three principles: the extracted code should contain the complete computation of a given variable declared in the original method, the behavior of the program should be preserved after the application of the refactoring, and the extracted code should not be excessively duplicated in the original method. The proposed approach is based on the union of static slices that result from the application of a block-based slicing technique. The soundness of the identified refactoring opportunities has been evaluated by an independent designer on the system that he developed. |
---|---|
AbstractList | Extract method has been recognized as one of the most important refactorings, since it decomposes large methods and can be used in combination with other refactorings for fixing a variety of design problems. However, existing tools and methodologies support extraction of methods based on a set of statements selected by the user in the original method. The goal of the proposed methodology is to automatically identify extract method refactoring opportunities and present them as suggestions to the designer of an object-oriented system. The suggested refactorings adhere to three principles: the extracted code should contain the complete computation of a given variable declared in the original method, the behavior of the program should be preserved after the application of the refactoring, and the extracted code should not be excessively duplicated in the original method. The proposed approach is based on the union of static slices that result from the application of a block-based slicing technique. The soundness of the identified refactoring opportunities has been evaluated by an independent designer on the system that he developed. |
Author | Chatzigeorgiou, A. Tsantalis, N. |
Author_xml | – sequence: 1 givenname: N. surname: Tsantalis fullname: Tsantalis, N. organization: Dept. of Appl. Inf., Univ. of Macedonia, Thessaloniki – sequence: 2 givenname: A. surname: Chatzigeorgiou fullname: Chatzigeorgiou, A. organization: Dept. of Appl. Inf., Univ. of Macedonia, Thessaloniki |
BookMark | eNotjs1KAzEYAINWcLd68-ZlX2Brfr4kG2-yVC20FKqeS5p80Ygmy24EfXsLehrmMkxNZiknJOSK0QVj1Nz0T5vdglNqFlyckIoroK2WGk5JzYADCC2lnJGKSQGtFJKdk3qa3inlFBityO3KYyoxRGdLzKnJoVl-l9G60mywvGXf7DAcLY8xvTbbYchj-UqxRJwuyFmwHxNe_nNOXu6Xz_1ju94-rPq7det4B6XlEDgY4wGDY9BJRYVyigsdvAkHZ_0hOOm9MKCQai-FCBZVZ6nF4yXzYk6u_7oREffDGD_t-LOHjnENUvwCTAVKLA |
CitedBy_id | crossref_primary_10_1016_j_infsof_2014_08_002 crossref_primary_10_2197_ipsjjip_31_469 crossref_primary_10_1007_s13369_011_0111_3 crossref_primary_10_1016_j_infsof_2012_04_004 crossref_primary_10_1007_s11334_013_0205_z crossref_primary_10_1109_TSE_2019_2936376 crossref_primary_10_1007_s11771_014_2140_z crossref_primary_10_1109_TSE_2023_3345800 crossref_primary_10_2139_ssrn_4192441 |
ContentType | Conference Proceeding |
DBID | 6IE 6IL CBEJK RIE RIL |
DOI | 10.1109/CSMR.2009.23 |
DatabaseName | IEEE Electronic Library (IEL) Conference Proceedings IEEE Proceedings Order Plan All Online (POP All Online) 1998-present by volume IEEE Xplore All Conference Proceedings IEEE Xplore IEEE Proceedings Order Plans (POP All) 1998-Present |
DatabaseTitleList | |
Database_xml | – sequence: 1 dbid: RIE name: IEEE Xplore url: https://proxy.k.utb.cz/login?url=https://ieeexplore.ieee.org/ sourceTypes: Publisher |
DeliveryMethod | fulltext_linktorsrc |
Discipline | Computer Science |
EISSN | 2640-7574 |
EndPage | 128 |
ExternalDocumentID | 4812745 |
Genre | orig-research |
GroupedDBID | 29F 29G 29O 6IE 6IF 6IL 6IN ABLEC ADZIZ ALMA_UNASSIGNED_HOLDINGS BEFXN BFFAM BGNUA BKEBE BPEOZ CBEJK CHZPO IEGSK JC5 M43 OCL RIE RIL |
ID | FETCH-LOGICAL-c284t-24f2499d4efc14856036c6237fd9fbcadbfc5dd3946e07d533fae68a0ae0021d3 |
IEDL.DBID | RIE |
ISBN | 1424437555 0769535895 9781424437559 9780769535890 |
ISSN | 1534-5351 |
IngestDate | Wed Jun 26 19:18:53 EDT 2024 |
IsPeerReviewed | false |
IsScholarly | true |
Language | English |
LinkModel | DirectLink |
MergedId | FETCHMERGED-LOGICAL-c284t-24f2499d4efc14856036c6237fd9fbcadbfc5dd3946e07d533fae68a0ae0021d3 |
PageCount | 10 |
ParticipantIDs | ieee_primary_4812745 |
PublicationCentury | 2000 |
PublicationDate | 2009-01-01 |
PublicationDateYYYYMMDD | 2009-01-01 |
PublicationDate_xml | – month: 01 year: 2009 text: 2009-01-01 day: 01 |
PublicationDecade | 2000 |
PublicationTitle | 2009 13th European Conference on Software Maintenance and Reengineering |
PublicationTitleAbbrev | CSMR |
PublicationYear | 2009 |
Publisher | IEEE |
Publisher_xml | – name: IEEE |
SSID | ssj0020410 ssj0001764322 ssj0000451407 |
Score | 1.9210331 |
Snippet | Extract method has been recognized as one of the most important refactorings, since it decomposes large methods and can be used in combination with other... |
SourceID | ieee |
SourceType | Publisher |
StartPage | 119 |
SubjectTerms | Amorphous materials Application software Debugging Employment Extract Method Refactoring Informatics Long Method Bad Smell Object-Oriented Design Program Slicing Runtime Software engineering Software maintenance Software measurement Software testing |
Title | Identification of Extract Method Refactoring Opportunities |
URI | https://ieeexplore.ieee.org/document/4812745 |
hasFullText | 1 |
inHoldings | 1 |
isFullTextHit | |
isPrint | |
link | http://utb.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwjV1NS8NAEF1aT56qtuI3OXg0bZr9ynotLUWISrXQW9nszl6EtEgC4q93P5Io4sFDwpKFQJaw82Z23nsI3U6lxcncqJgZlcUEMxlnEtubgpRhZQD7lv_8kS3X5GFDNz1013FhAMA3n8HYDf1Zvt6p2pXKJsRGI05oH_W5EIGr1dVTnE4KaVIZX1_hNtamnZRUmpCgTEAxiSmm05DCCzvMBG0ZX5hTShtZnnayE4Zq5kXXPi8ms5d8FTQvnd3RD3sWH50WA5S33xWaUt7GdVWM1ecvycf_fvgRGn3zAKPnLsIdox6UJ2jQGkFEzb4wRPeB7mua-l-0M9H8o3L8qyj3DtXRCoKxj31N9LR3mL8uvZbrCK0X89fZMm5MGWJlI1kVp8TYjE1oAkbZVMoCJsyUxVDcaGEKJXVhFNUaC8Ig4dqiSSOBZTKR4PCExqfooNyVcIaiNFGUaW63AQakkDIrJAh7TXWipSz4ORq6pdjug-7GtlmFi78fX6LDcNLjyiNX6KB6r-HaAoaquPF_yhdrx7Pe |
link.rule.ids | 310,311,783,787,792,793,799,27939,55088 |
linkProvider | IEEE |
linkToHtml | http://utb.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwjV3LSsNAFB1qXeiqaiu-zcKladPMK-O2VKo2VWoL3ZXJPDZCWiQB8eudRxJFXLhIGDIQyBDmnnvnnnMAuBlyg5OpFiHRIgkRJDxMODQ3oWIChVbQtfynMzJZoscVXrXAbcOFUUq55jPVt0N3li83orSlsgEy0YgivAN2scUVnq3VVFSsUgqqkhlXYaEm2saNmFQcIa9NgCEKMcRDn8QzM0wYrjlfkGKMK2GeerKRhqrmWdNAzwaj13TuVS-t4dEPgxYXn-47IK2_zLelvPXLIuuLz1-ij__99APQ-2YCBi9NjDsELZUfgU5tBRFUO0MX3HnCr64qgMFGB-OPwjKwgtR5VAdz5a19zGuC561F_WXu1Fx7YHk_XowmYWXLEAoTy4owRtrkbEwipYVJpgxkgkQYFEW1ZDoTXGZaYCkhQ0RFVBo8qbkiCY-4sohCwmPQzje5OgFBHAlMJDUbAVEo4zzJuGLmGspIcp7RU9C1S7HeeuWNdbUKZ38_vgZ7k0U6XU8fZk_nYN-f-9hiyQVoF--lujTwociu3F_zBRMktys |
openUrl | ctx_ver=Z39.88-2004&ctx_enc=info%3Aofi%2Fenc%3AUTF-8&rfr_id=info%3Asid%2Fsummon.serialssolutions.com&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=proceeding&rft.title=2009+13th+European+Conference+on+Software+Maintenance+and+Reengineering&rft.atitle=Identification+of+Extract+Method+Refactoring+Opportunities&rft.au=Tsantalis%2C+N.&rft.au=Chatzigeorgiou%2C+A.&rft.date=2009-01-01&rft.pub=IEEE&rft.isbn=9781424437559&rft.issn=1534-5351&rft.eissn=2640-7574&rft.spage=119&rft.epage=128&rft_id=info:doi/10.1109%2FCSMR.2009.23&rft.externalDocID=4812745 |
thumbnail_l | http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/lc.gif&issn=1534-5351&client=summon |
thumbnail_m | http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/mc.gif&issn=1534-5351&client=summon |
thumbnail_s | http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/sc.gif&issn=1534-5351&client=summon |