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...
Saved in:
Published in: | IEEE software 2008-09, Vol.25 (5), p.38-44 |
---|---|
Main Authors: | , |
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&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 & Engineering Collection</collection><collection>ProQuest Central (Alumni)</collection><collection>ProQuest Central UK/Ireland</collection><collection>Advanced Technologies & 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 & aerospace journals</collection><collection>ProQuest Advanced Technologies & 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 & Communications Abstracts</collection><collection>Technology Research Database</collection><collection>ANTE: Abstracts in New Technology & 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 |