Loading…

Refactoring Tools: Fitness for Purpose

Refactoring is the process of changing software's structure while preserving its external behavior. Refactoring tools can improve the speed and accuracy with which developers create and maintain software-but only if they are used. In practice, tools are not used as much as they could be; this s...

Full description

Saved in:
Bibliographic Details
Published in:IEEE software 2008-09, Vol.25 (5), p.38-44
Main Authors: Murphy-Hill, E., Black, A.P.
Format: Article
Language:English
Subjects:
Citations: Items that this one cites
Items that cite this one
Online Access:Get full text
Tags: Add Tag
No Tags, Be the first to tag this record!
cited_by cdi_FETCH-LOGICAL-c410t-2911856391ca98378ddea97352e712473dea58769717081187df200e20e3dc443
cites cdi_FETCH-LOGICAL-c410t-2911856391ca98378ddea97352e712473dea58769717081187df200e20e3dc443
container_end_page 44
container_issue 5
container_start_page 38
container_title IEEE software
container_volume 25
creator Murphy-Hill, E.
Black, A.P.
description Refactoring is the process of changing software's structure while preserving its external behavior. Refactoring tools can improve the speed and accuracy with which developers create and maintain software-but only if they are used. In practice, tools are not used as much as they could be; this seems to be because sometimes they do not align with the refactoring tactic preferred by most programmers, a tactic the authors call "floss refactoring." They propose five principles that characterize successful floss-refactoring tools - principles that can help programmers to choose the most appropriate refactoring tools and also help toolsmiths to design tools that fit the programmer's purpose.
doi_str_mv 10.1109/MS.2008.123
format article
fullrecord <record><control><sourceid>proquest_pasca</sourceid><recordid>TN_cdi_pascalfrancis_primary_20593458</recordid><sourceformat>XML</sourceformat><sourcesystem>PC</sourcesystem><ieee_id>4602672</ieee_id><sourcerecordid>875039249</sourcerecordid><originalsourceid>FETCH-LOGICAL-c410t-2911856391ca98378ddea97352e712473dea58769717081187df200e20e3dc443</originalsourceid><addsrcrecordid>eNp90L1LAzEYBvAgCtbq5OhyCNZBrr75uiRuUqwKLYqtcwi5nFy5XmpyN_jfm9LSwcEphPzy8L4PQpcYxhiDup8vxgRAjjGhR2iAFRU5w4odowEIBrlgXJ2isxhXAMAxhQEafbjK2M6Huv3Klt438SGb1l3rYswqH7L3Pmx8dOfopDJNdBf7c4g-p0_LyUs-e3t-nTzOcsswdDlRGEteUIWtUZIKWZbOKEE5cQITJmi6cikKJbAAmawoqzSwI-BoaRmjQ3S7y90E_9272Ol1Ha1rGtM630ctBQeqCFNJjv6VlAmFiaAJXv-BK9-HNm2hCeYyzapIQnc7ZIOPMbhKb0K9NuFHY9DbavV8obfV6lRt0jf7SBOtaapgWlvHwxcCXFGWoofoaudq59zhmRVACkHoLzyVfM0</addsrcrecordid><sourcetype>Aggregation Database</sourcetype><iscdi>true</iscdi><recordtype>article</recordtype><pqid>215839192</pqid></control><display><type>article</type><title>Refactoring Tools: Fitness for Purpose</title><source>ABI/INFORM global</source><source>IEEE Xplore (Online service)</source><creator>Murphy-Hill, E. ; Black, A.P.</creator><creatorcontrib>Murphy-Hill, E. ; Black, A.P.</creatorcontrib><description>Refactoring is the process of changing software's structure while preserving its external behavior. Refactoring tools can improve the speed and accuracy with which developers create and maintain software-but only if they are used. In practice, tools are not used as much as they could be; this seems to be because sometimes they do not align with the refactoring tactic preferred by most programmers, a tactic the authors call "floss refactoring." They propose five principles that characterize successful floss-refactoring tools - principles that can help programmers to choose the most appropriate refactoring tools and also help toolsmiths to design tools that fit the programmer's purpose.</description><identifier>ISSN: 0740-7459</identifier><identifier>EISSN: 1937-4194</identifier><identifier>DOI: 10.1109/MS.2008.123</identifier><identifier>CODEN: IESOEG</identifier><language>eng</language><publisher>Los Alamitos, CA: IEEE</publisher><subject>Accuracy ; Applied sciences ; Boxes ; Computer programs ; Computer science; control theory; systems ; Developers ; Exact sciences and technology ; Fitness ; History ; Inheritances ; Java ; keywords: refactoring ; Preserving ; Product design ; Programmers ; Programming languages ; Programming profession ; Software ; software development ; Software engineering ; Software maintenance ; software tools ; Software utilities ; Streaming media ; Success factors ; Tactics ; Writing</subject><ispartof>IEEE software, 2008-09, Vol.25 (5), p.38-44</ispartof><rights>2009 INIST-CNRS</rights><rights>Copyright IEEE Computer Society Sep/Oct 2008</rights><lds50>peer_reviewed</lds50><oa>free_for_read</oa><woscitedreferencessubscribed>false</woscitedreferencessubscribed><citedby>FETCH-LOGICAL-c410t-2911856391ca98378ddea97352e712473dea58769717081187df200e20e3dc443</citedby><cites>FETCH-LOGICAL-c410t-2911856391ca98378ddea97352e712473dea58769717081187df200e20e3dc443</cites></display><links><openurl>$$Topenurl_article</openurl><openurlfulltext>$$Topenurlfull_article</openurlfulltext><thumbnail>$$Tsyndetics_thumb_exl</thumbnail><linktohtml>$$Uhttps://www.proquest.com/docview/215839192?pq-origsite=primo$$EHTML$$P50$$Gproquest$$H</linktohtml><link.rule.ids>314,776,780,11668,27903,27904,36039,36040,44342,54774</link.rule.ids><backlink>$$Uhttp://pascal-francis.inist.fr/vibad/index.php?action=getRecordDetail&amp;idt=20593458$$DView record in Pascal Francis$$Hfree_for_read</backlink></links><search><creatorcontrib>Murphy-Hill, E.</creatorcontrib><creatorcontrib>Black, A.P.</creatorcontrib><title>Refactoring Tools: Fitness for Purpose</title><title>IEEE software</title><addtitle>S-M</addtitle><description>Refactoring is the process of changing software's structure while preserving its external behavior. Refactoring tools can improve the speed and accuracy with which developers create and maintain software-but only if they are used. In practice, tools are not used as much as they could be; this seems to be because sometimes they do not align with the refactoring tactic preferred by most programmers, a tactic the authors call "floss refactoring." They propose five principles that characterize successful floss-refactoring tools - principles that can help programmers to choose the most appropriate refactoring tools and also help toolsmiths to design tools that fit the programmer's purpose.</description><subject>Accuracy</subject><subject>Applied sciences</subject><subject>Boxes</subject><subject>Computer programs</subject><subject>Computer science; control theory; systems</subject><subject>Developers</subject><subject>Exact sciences and technology</subject><subject>Fitness</subject><subject>History</subject><subject>Inheritances</subject><subject>Java</subject><subject>keywords: refactoring</subject><subject>Preserving</subject><subject>Product design</subject><subject>Programmers</subject><subject>Programming languages</subject><subject>Programming profession</subject><subject>Software</subject><subject>software development</subject><subject>Software engineering</subject><subject>Software maintenance</subject><subject>software tools</subject><subject>Software utilities</subject><subject>Streaming media</subject><subject>Success factors</subject><subject>Tactics</subject><subject>Writing</subject><issn>0740-7459</issn><issn>1937-4194</issn><fulltext>true</fulltext><rsrctype>article</rsrctype><creationdate>2008</creationdate><recordtype>article</recordtype><sourceid>M0C</sourceid><recordid>eNp90L1LAzEYBvAgCtbq5OhyCNZBrr75uiRuUqwKLYqtcwi5nFy5XmpyN_jfm9LSwcEphPzy8L4PQpcYxhiDup8vxgRAjjGhR2iAFRU5w4odowEIBrlgXJ2isxhXAMAxhQEafbjK2M6Huv3Klt438SGb1l3rYswqH7L3Pmx8dOfopDJNdBf7c4g-p0_LyUs-e3t-nTzOcsswdDlRGEteUIWtUZIKWZbOKEE5cQITJmi6cikKJbAAmawoqzSwI-BoaRmjQ3S7y90E_9272Ol1Ha1rGtM630ctBQeqCFNJjv6VlAmFiaAJXv-BK9-HNm2hCeYyzapIQnc7ZIOPMbhKb0K9NuFHY9DbavV8obfV6lRt0jf7SBOtaapgWlvHwxcCXFGWoofoaudq59zhmRVACkHoLzyVfM0</recordid><startdate>20080901</startdate><enddate>20080901</enddate><creator>Murphy-Hill, E.</creator><creator>Black, A.P.</creator><general>IEEE</general><general>IEEE Computer Society</general><scope>97E</scope><scope>RIA</scope><scope>RIE</scope><scope>IQODW</scope><scope>AAYXX</scope><scope>CITATION</scope><scope>3V.</scope><scope>7WY</scope><scope>7WZ</scope><scope>7XB</scope><scope>87Z</scope><scope>88F</scope><scope>88I</scope><scope>88K</scope><scope>8AL</scope><scope>8FE</scope><scope>8FG</scope><scope>8FK</scope><scope>8FL</scope><scope>8G5</scope><scope>ABJCF</scope><scope>ABUWG</scope><scope>AFKRA</scope><scope>ARAPS</scope><scope>AZQEC</scope><scope>BENPR</scope><scope>BEZIV</scope><scope>BGLVJ</scope><scope>CCPQU</scope><scope>DWQXO</scope><scope>FRNLG</scope><scope>F~G</scope><scope>GNUQQ</scope><scope>GUQSH</scope><scope>HCIFZ</scope><scope>JQ2</scope><scope>K60</scope><scope>K6~</scope><scope>K7-</scope><scope>L.-</scope><scope>L6V</scope><scope>M0C</scope><scope>M0N</scope><scope>M1Q</scope><scope>M2O</scope><scope>M2P</scope><scope>M2T</scope><scope>M7S</scope><scope>MBDVC</scope><scope>P5Z</scope><scope>P62</scope><scope>PQBIZ</scope><scope>PQBZA</scope><scope>PQEST</scope><scope>PQQKQ</scope><scope>PQUKI</scope><scope>PRINS</scope><scope>PTHSS</scope><scope>Q9U</scope><scope>7SC</scope><scope>7SP</scope><scope>8FD</scope><scope>F28</scope><scope>FR3</scope><scope>L7M</scope><scope>L~C</scope><scope>L~D</scope></search><sort><creationdate>20080901</creationdate><title>Refactoring Tools: Fitness for Purpose</title><author>Murphy-Hill, E. ; Black, A.P.</author></sort><facets><frbrtype>5</frbrtype><frbrgroupid>cdi_FETCH-LOGICAL-c410t-2911856391ca98378ddea97352e712473dea58769717081187df200e20e3dc443</frbrgroupid><rsrctype>articles</rsrctype><prefilter>articles</prefilter><language>eng</language><creationdate>2008</creationdate><topic>Accuracy</topic><topic>Applied sciences</topic><topic>Boxes</topic><topic>Computer programs</topic><topic>Computer science; control theory; systems</topic><topic>Developers</topic><topic>Exact sciences and technology</topic><topic>Fitness</topic><topic>History</topic><topic>Inheritances</topic><topic>Java</topic><topic>keywords: refactoring</topic><topic>Preserving</topic><topic>Product design</topic><topic>Programmers</topic><topic>Programming languages</topic><topic>Programming profession</topic><topic>Software</topic><topic>software development</topic><topic>Software engineering</topic><topic>Software maintenance</topic><topic>software tools</topic><topic>Software utilities</topic><topic>Streaming media</topic><topic>Success factors</topic><topic>Tactics</topic><topic>Writing</topic><toplevel>peer_reviewed</toplevel><toplevel>online_resources</toplevel><creatorcontrib>Murphy-Hill, E.</creatorcontrib><creatorcontrib>Black, A.P.</creatorcontrib><collection>IEEE All-Society Periodicals Package (ASPP) 2005–Present</collection><collection>IEEE All-Society Periodicals Package (ASPP) Online</collection><collection>IEEE Xplore</collection><collection>Pascal-Francis</collection><collection>CrossRef</collection><collection>ProQuest Central (Corporate)</collection><collection>ABI/INFORM Collection</collection><collection>ABI/INFORM Global (PDF only)</collection><collection>ProQuest Central (purchase pre-March 2016)</collection><collection>ABI/INFORM Collection</collection><collection>Military Database (Alumni Edition)</collection><collection>Science Database (Alumni Edition)</collection><collection>Telecommunications (Alumni Edition)</collection><collection>Computing Database (Alumni Edition)</collection><collection>ProQuest SciTech Collection</collection><collection>ProQuest Technology Collection</collection><collection>ProQuest Central (Alumni) (purchase pre-March 2016)</collection><collection>ABI/INFORM Collection (Alumni Edition)</collection><collection>Research Library (Alumni Edition)</collection><collection>Materials Science &amp; Engineering Collection</collection><collection>ProQuest Central (Alumni)</collection><collection>ProQuest Central UK/Ireland</collection><collection>Advanced Technologies &amp; Aerospace Database‎ (1962 - current)</collection><collection>ProQuest Central Essentials</collection><collection>ProQuest Central</collection><collection>Business Premium Collection</collection><collection>Technology Collection</collection><collection>ProQuest One Community College</collection><collection>ProQuest Central</collection><collection>Business Premium Collection (Alumni)</collection><collection>ABI/INFORM Global (Corporate)</collection><collection>ProQuest Central Student</collection><collection>Research Library Prep</collection><collection>SciTech Premium Collection</collection><collection>ProQuest Computer Science Collection</collection><collection>ProQuest Business Collection (Alumni Edition)</collection><collection>ProQuest Business Collection</collection><collection>Computer Science Database</collection><collection>ABI/INFORM Professional Advanced</collection><collection>ProQuest Engineering Collection</collection><collection>ABI/INFORM global</collection><collection>Computing Database</collection><collection>Military Database (Proquest)</collection><collection>ProQuest research library</collection><collection>ProQuest Science Journals</collection><collection>Telecommunications Database</collection><collection>Engineering Database</collection><collection>Research Library (Corporate)</collection><collection>ProQuest advanced technologies &amp; aerospace journals</collection><collection>ProQuest Advanced Technologies &amp; Aerospace Collection</collection><collection>One Business</collection><collection>ProQuest One Business (Alumni)</collection><collection>ProQuest One Academic Eastern Edition (DO NOT USE)</collection><collection>ProQuest One Academic</collection><collection>ProQuest One Academic UKI Edition</collection><collection>ProQuest Central China</collection><collection>Engineering collection</collection><collection>ProQuest Central Basic</collection><collection>Computer and Information Systems Abstracts</collection><collection>Electronics &amp; Communications Abstracts</collection><collection>Technology Research Database</collection><collection>ANTE: Abstracts in New Technology &amp; Engineering</collection><collection>Engineering Research Database</collection><collection>Advanced Technologies Database with Aerospace</collection><collection>Computer and Information Systems Abstracts – Academic</collection><collection>Computer and Information Systems Abstracts Professional</collection><jtitle>IEEE software</jtitle></facets><delivery><delcategory>Remote Search Resource</delcategory><fulltext>fulltext</fulltext></delivery><addata><au>Murphy-Hill, E.</au><au>Black, A.P.</au><format>journal</format><genre>article</genre><ristype>JOUR</ristype><atitle>Refactoring Tools: Fitness for Purpose</atitle><jtitle>IEEE software</jtitle><stitle>S-M</stitle><date>2008-09-01</date><risdate>2008</risdate><volume>25</volume><issue>5</issue><spage>38</spage><epage>44</epage><pages>38-44</pages><issn>0740-7459</issn><eissn>1937-4194</eissn><coden>IESOEG</coden><abstract>Refactoring is the process of changing software's structure while preserving its external behavior. Refactoring tools can improve the speed and accuracy with which developers create and maintain software-but only if they are used. In practice, tools are not used as much as they could be; this seems to be because sometimes they do not align with the refactoring tactic preferred by most programmers, a tactic the authors call "floss refactoring." They propose five principles that characterize successful floss-refactoring tools - principles that can help programmers to choose the most appropriate refactoring tools and also help toolsmiths to design tools that fit the programmer's purpose.</abstract><cop>Los Alamitos, CA</cop><pub>IEEE</pub><doi>10.1109/MS.2008.123</doi><tpages>7</tpages><oa>free_for_read</oa></addata></record>
fulltext fulltext
identifier ISSN: 0740-7459
ispartof IEEE software, 2008-09, Vol.25 (5), p.38-44
issn 0740-7459
1937-4194
language eng
recordid cdi_pascalfrancis_primary_20593458
source ABI/INFORM global; IEEE Xplore (Online service)
subjects Accuracy
Applied sciences
Boxes
Computer programs
Computer science
control theory
systems
Developers
Exact sciences and technology
Fitness
History
Inheritances
Java
keywords: refactoring
Preserving
Product design
Programmers
Programming languages
Programming profession
Software
software development
Software engineering
Software maintenance
software tools
Software utilities
Streaming media
Success factors
Tactics
Writing
title Refactoring Tools: Fitness for Purpose
url http://sfxeu10.hosted.exlibrisgroup.com/loughborough?ctx_ver=Z39.88-2004&ctx_enc=info:ofi/enc:UTF-8&ctx_tim=2025-01-24T10%3A12%3A50IST&url_ver=Z39.88-2004&url_ctx_fmt=infofi/fmt:kev:mtx:ctx&rfr_id=info:sid/primo.exlibrisgroup.com:primo3-Article-proquest_pasca&rft_val_fmt=info:ofi/fmt:kev:mtx:journal&rft.genre=article&rft.atitle=Refactoring%20Tools:%20Fitness%20for%20Purpose&rft.jtitle=IEEE%20software&rft.au=Murphy-Hill,%20E.&rft.date=2008-09-01&rft.volume=25&rft.issue=5&rft.spage=38&rft.epage=44&rft.pages=38-44&rft.issn=0740-7459&rft.eissn=1937-4194&rft.coden=IESOEG&rft_id=info:doi/10.1109/MS.2008.123&rft_dat=%3Cproquest_pasca%3E875039249%3C/proquest_pasca%3E%3Cgrp_id%3Ecdi_FETCH-LOGICAL-c410t-2911856391ca98378ddea97352e712473dea58769717081187df200e20e3dc443%3C/grp_id%3E%3Coa%3E%3C/oa%3E%3Curl%3E%3C/url%3E&rft_id=info:oai/&rft_pqid=215839192&rft_id=info:pmid/&rft_ieee_id=4602672&rfr_iscdi=true