http://iet.metastore.ingenta.com
1887

Case study on software refactoring tactics

Case study on software refactoring tactics

For access to this article, please select a purchase option:

Buy article PDF
£12.50
(plus tax if applicable)
Buy Knowledge Pack
10 articles for £75.00
(plus taxes if applicable)

IET members benefit from discounts to all IET publications and free access to E&T Magazine. If you are an IET member, log in to your account and the discounts will automatically be applied.

Learn more about IET membership 

Recommend to library

You must fill out fields marked with: *

Librarian details
Name:*
Email:*
Your details
Name:*
Email:*
Department:*
Why are you recommending this title?
Select reason:
 
 
 
 
 
IET Software — Recommend this title to your library

Thank you

Your recommendation has been sent to your librarian.

Refactorings might be done using two different tactics: root canal refactoring and floss refactoring. Root canal refactoring is to set aside an extended period specially for refactoring. Floss refactoring is to interleave refactorings with other programming tasks. However, no large-scale case study on refactoring tactics is available. To this end, the authors carry out a case study to investigate the following research questions. (i) How often are root canal refactoring and floss refactoring employed, respectively? (ii) Are some kinds of refactorings more likely than others to be applied as floss refactorings or root canal refactorings? (iii) Do engineers employing both tactics have obvious bias to or against either of the tactics? They analyse the usage data information collected by Eclipse usage data collector. Results suggest that about 14% of refactorings are root canal refactorings. These findings reconfirm the hypothesis that, in general, floss refactoring is more common than root canal refactoring. The relative popularity of root canal refactoring, however, is much higher than expected. They also find that some kinds of refactorings are more likely than others to be performed as root canal refactorings. Results also suggest that engineers who have explored both tactics obviously tended towards root canal refactoring.

References

    1. 1)
      • T. Mens , T. Touwe .
        1. Mens, T., Touwe, T.: ‘A survey of software refactoring’, IEEE Trans. Softw. Eng., 2004, 30, (2), pp. 126139 (doi: 10.1109/TSE.2004.1265817).
        . IEEE Trans. Softw. Eng. , 2 , 126 - 139
    2. 2)
      • W.F. Opdyke . (1992)
        2. Opdyke, W.F.: ‘Refactoring object-oriented frameworks’. PhD thesis, University of Illinois at Urbana-Champaign, 1992.
        .
    3. 3)
      • E. Murphy-Hill , C. Parnin , A.P. Black .
        3. Murphy-Hill, E., Parnin, C., Black, A.P.: ‘How we refactor, and how we know it’. Proc. 31st Int. Conf. Software Engineering, 2009, pp. 287297.
        . Proc. 31st Int. Conf. Software Engineering , 287 - 297
    4. 4)
      • E. Murphy-Hill , A.P. Black .
        4. Murphy-Hill, E., Black, A.P.: ‘Refactoring tools: fitness for purpose’, IEEE Softw., 2008, 25, (5), pp. 3844 (doi: 10.1109/MS.2008.123).
        . IEEE Softw. , 5 , 38 - 44
    5. 5)
      • M. Fowler , K. Beck , J. Brant , W. Opdyke , D. Roberts . (1999)
        5. Fowler, M., Beck, K., Brant, J., Opdyke, W., Roberts, D.: ‘Refactoring: improving the design of existing code’ (Addison Wesley Professional, 1999).
        .
    6. 6)
      • W.C. Wake . (2003)
        6. Wake, W.C.: ‘Refactoring workbook’ (Addison Wesley, 2003).
        .
    7. 7)
      • T. Kamiya , S. Kusumoto , K. Inoue .
        7. Kamiya, T., Kusumoto, S., Inoue, K.: ‘CC Finder: a multi-linguistic token based code clone detection system for large scale source code’, IEEE Trans. Softw. Eng., 2002, 28, (6), pp. 654670 (doi: 10.1109/TSE.2002.1019480).
        . IEEE Trans. Softw. Eng. , 6 , 654 - 670
    8. 8)
      • N. Tsantalis , A. Chatzigeorgiou .
        8. Tsantalis, N., Chatzigeorgiou, A.: ‘Identification of move method refactoring opportunities’, IEEE Trans. Softw. Eng., 2009, 99, (RapidPosts), pp. 347367 (doi: 10.1109/TSE.2009.1).
        . IEEE Trans. Softw. Eng. , 347 - 367
    9. 9)
      • G. Bavota , A. De Lucia , R. Oliveto .
        9. Bavota, G., De Lucia, A., Oliveto, R.: ‘Identifying extract class refactoring opportunities using structural and semantic cohesion measures’, J. Syst. Softw., 2011, 84, (3), pp. 397414 (doi: 10.1016/j.jss.2010.11.918).
        . J. Syst. Softw. , 3 , 397 - 414
    10. 10)
      • G. Bavota , R. Oliveto , A. De Lucia , G. Antoniol , Y. Gueheneuc .
        10. Bavota, G., Oliveto, R., De Lucia, A., Antoniol, G., Gueheneuc, Y.: ‘Playing with refactoring: Identifying extract class opportunities through game theory’. 2010 IEEE Int. Conf. Software Maintenance (ICSM)., September 2010, pp. 15.
        . 2010 IEEE Int. Conf. Software Maintenance (ICSM). , 1 - 5
    11. 11)
      • N. Tsantalis , A. Chatzigeorgiou .
        11. Tsantalis, N., Chatzigeorgiou, A.: ‘Identification of refactoring opportunities introducing polymorphism’, J. Syst. Softw., 2010, 83, (3), pp. 391404 (doi: 10.1016/j.jss.2009.09.017).
        . J. Syst. Softw. , 3 , 391 - 404
    12. 12)
      • T. Tourwe , T. Mens .
        12. Tourwe, T., Mens, T.: ‘Identifying refactoring opportunities using logic meta programming’. Proc. Seventh European Conf. Software Maintenance And Reengineering (CSMR'03), 2003, pp. 91100.
        . Proc. Seventh European Conf. Software Maintenance And Reengineering (CSMR'03) , 91 - 100
    13. 13)
      • B. Van Rompaey , B. Du Bois , S. Demeyer , M. Rieger .
        13. Van Rompaey, B., Du Bois, B., Demeyer, S., Rieger, M.: ‘On the detection of test smells: A metrics-based approach for general fixture and eager test’, IEEE Trans. Softw. Eng., 2007, 33, (12), pp. 800817 (doi: 10.1109/TSE.2007.70745).
        . IEEE Trans. Softw. Eng. , 12 , 800 - 817
    14. 14)
      • M.J. Munro .
        14. Munro, M.J.: ‘Product metrics for automatic identification of ‘bad smell’ design problems in java source-code’. Proc. 11th IEEE Int. Symp. Software Metrics, 2005, September 2005, pp. 1515.
        . Proc. 11th IEEE Int. Symp. Software Metrics, 2005 , 15 - 15
    15. 15)
      • H. Liu , Z. Ma , W. Shao , Z. Niu .
        15. Liu, H., Ma, Z., Shao, W., Niu, Z.: ‘Schedule of bad smell detection and resolution: a new way to save effort’, IEEE Trans. Softw. Eng., 2012, 38, (1), pp. 220235 (doi: 10.1109/TSE.2011.9).
        . IEEE Trans. Softw. Eng. , 1 , 220 - 235
    16. 16)
      • H. Liu , G. Li , Z. Ma , W. Shao .
        16. Liu, H., Li, G., Ma, Z., Shao, W.: ‘Conflict aware scheduling of software refactorings’, IET Softw., 2008, 2, (5), pp. 446460 (doi: 10.1049/iet-sen:20070033).
        . IET Softw. , 5 , 446 - 460
    17. 17)
      • H. Liu , G. Li , Z. Ma , W. Shao .
        17. Liu, H., Li, G., Ma, Z., Shao, W.: ‘Scheduling of conflicting refactorings to promote quality improvement’. Proc. 22nd IEEE/ACM Int. Conf. Automated Software Engineering (ASE'07), 2007, pp. 489492.
        . Proc. 22nd IEEE/ACM Int. Conf. Automated Software Engineering (ASE'07) , 489 - 492
    18. 18)
      • H. Liu , L. Yang , Z. Niu , Z. Ma , W. Shao .
        18. Liu, H., Yang, L., Niu, Z., Ma, Z., Shao, W.: ‘Facilitating software refactoring with appropriate resolution order of bad smells’. Proc. Seventh Joint Meeting of the European Software Engineering Conf. (ESEC) and the ACM SIGSOFT Symp. Foundations of Software Engineering (ESEC/FSE'09), 2009, pp. 265268.
        . Proc. Seventh Joint Meeting of the European Software Engineering Conf. (ESEC) and the ACM SIGSOFT Symp. Foundations of Software Engineering (ESEC/FSE'09) , 265 - 268
    19. 19)
      • S. Bouktif , G. Antoniol , E. Merlo , M. Neteler .
        19. Bouktif, S., Antoniol, G., Merlo, E., Neteler, M.: ‘A novel approach to optimize clone refactoring activity’. in Mike, C., (ed.), Proc. Eighth Annual Conf. Genetic and Evolutionary Computation (GECCO'06), July 2006, pp. 18851892. ACM SIGEVO (formerly ISGEC), ACM Press.
        . Proc. Eighth Annual Conf. Genetic and Evolutionary Computation (GECCO'06) , 1885 - 1892
    20. 20)
      • J. Shore .
        20. Shore, J.: ‘Design debt’. Software Profitability Newsletter, 01 February 2004. Available at http://www.jamesshore.com/Articles.
        .
    21. 21)
      • M.A. Cusumano , R.W. Selby . (1995)
        21. Cusumano, M.A., Selby, R.W.: ‘Microsoft secrets’ (Free Press, 1995).
        .
    22. 22)
      • E. Stroulia , R. Kapoor .
        22. Stroulia, E., Kapoor, R.: ‘Metrics of refactoring-based development: An experience report’. Proc. Seventh Int. Conf. Object-Oriented Information System, 2001, pp. 113C122.
        . Proc. Seventh Int. Conf. Object-Oriented Information System , 113 - C122
    23. 23)
      • R. Weber , T. Helfenberger , R.K. Keller .
        23. Weber, R., Helfenberger, T., Keller, R.K.: ‘Fit for change: Steps towards effective software maintenance’. Proc. 21st IEEE Int. Conf. Software Maintenance – Industrial and Tool volume, 2005, pp. 2633. Recipient of Best Industrial Paper Award.
        . Proc. 21st IEEE Int. Conf. Software Maintenance – Industrial and Tool volume , 26 - 33
    24. 24)
      • H. Liu , Y. Gao , Z. Niu .
        24. Liu, H., Gao, Y., Niu, Z.: ‘An initial study on refactoring tactics’. IEEE 36th Int. Conf. Computer Software and Applications, 2012, pp. 213218.
        . IEEE 36th Int. Conf. Computer Software and Applications , 213 - 218
    25. 25)
      • P. Runeson , M. Höst .
        25. Runeson, P., Höst, M.: ‘Guidelines for conducting and reporting case study research in software engineering’, Empir. Softw. Eng., 2009, 14, (2), pp. 131164 (doi: 10.1007/s10664-008-9102-8).
        . Empir. Softw. Eng. , 2 , 131 - 164
    26. 26)
      • E. Murphy-Hill , A.P. Black , D. Danny , C. Parnin .
        26. Murphy-Hill, E., Black, A.P., Danny, D., Parnin, C.: ‘Gathering refactoring data: a comparison of four methods’. Proc. Second Workshop on Refactoring Tools (WRT'08), 2008, pp. 7:17:5.
        . Proc. Second Workshop on Refactoring Tools (WRT'08) , 7:1 - 7:5
    27. 27)
      • D. Dig , C. Comertoglu , D. Marinov , R. Johnson .
        27. Dig, D., Comertoglu, C., Marinov, D., Johnson, R.: ‘Automated detection of refactorings in evolving components’. Proc. 20th European Conf. Object-Oriented Programming (ECOOP'06), Nantes, France, 3–7 July 2006, (LNCS vol. 4067), pp. 40442. Springer Berlin/Heidelberg.
        . Proc. 20th European Conf. Object-Oriented Programming (ECOOP'06) , 404 - 42
    28. 28)
      • W. Peter , S. Diehl .
        28. Peter, W., Diehl, S.: ‘Are refactorings less error-prone than other changes?’. Proc. 2006 Int. Workshop on Mining software repositories (MSR'06), 2006, pp. 112118.
        . Proc. 2006 Int. Workshop on Mining software repositories (MSR'06) , 112 - 118
    29. 29)
      • C. Parnin , C. Görg .
        29. Parnin, C., Görg, C.: ‘Improving change descriptions with change contexts’. Proc. 2008 Int. Working Conf. Mining Software Repositories (MSR'08), 2008, pp. 5160.
        . Proc. 2008 Int. Working Conf. Mining Software Repositories (MSR'08) , 51 - 60
    30. 30)
      • G.C. Murphy , M. Kersten , L. Findlater .
        30. Murphy, G.C., Kersten, M., Findlater, L.: ‘How are java software developers using the eclipse ide?’, IEEE Softw., 2006, 23, pp. 7683 (doi: 10.1109/MS.2006.105).
        . IEEE Softw. , 76 - 83
    31. 31)
      • Z. Xing , E. Stroulia .
        31. Xing, Z., Stroulia, E.: ‘Refactoring practice: How it is and how it should be supported – an eclipse case study’. IEEE Int. Conf. Software Maintenance, 2006, pp. 458468.
        . IEEE Int. Conf. Software Maintenance , 458 - 468
    32. 32)
      • Z. Xing , E. Stroulia .
        32. Xing, Z., Stroulia, E.: ‘Umldiff: an algorithm for object-oriented design differencing’. Proc. 20th IEEE/ACM Int. Conf. Automated Software Engineering, 2005, pp. 5465. Xing, Zhenchang and Stroulia, Eleni.
        . Proc. 20th IEEE/ACM Int. Conf. Automated Software Engineering , 54 - 65
http://iet.metastore.ingenta.com/content/journals/10.1049/iet-sen.2012.0121
Loading

Related content

content/journals/10.1049/iet-sen.2012.0121
pub_keyword,iet_inspecKeyword,pub_concept
6
6
Loading
This is a required field
Please enter a valid email address