Skip to main content
Erschienen in: Empirical Software Engineering 3/2016

01.06.2016

Perspectives on refactoring planning and practice: an empirical study

verfasst von: Jie Chen, Junchao Xiao, Qing Wang, Leon J. Osterweil, Mingshu Li

Erschienen in: Empirical Software Engineering | Ausgabe 3/2016

Einloggen

Aktivieren Sie unsere intelligente Suche, um passende Fachinhalte oder Patente zu finden.

search-config
loading …

Abstract

Iterative development increasingly seeks to incorporate design modification and continuous refactoring in order to maintain code quality even in highly dynamic environments. However, there does not appear to be consensus on how to do this, especially because research results seem to be inconsistent. This paper presents an empirical study based upon an industry survey of refactoring practices and attitudes. The study explored differences in attitudes about refactoring among participants who played roles in software development, and how these different attitudes affected actual practice. The study found strong agreement among all roles about the importance of refactoring, and agreement about the negative effects upon agility of deferring refactoring. Nevertheless, the survey found that roles had different perspectives on the different kinds of tasks in an agile process. Accordingly, there was no universally agreed-upon strategy for how to plan to carry out refactoring. Analysis of the survey results has raised many interesting questions suggesting the need for a considerable amount of future research.

Sie haben noch keine Lizenz? Dann Informieren Sie sich jetzt über unsere Produkte:

Springer Professional "Wirtschaft"

Online-Abonnement

Mit Springer Professional "Wirtschaft" erhalten Sie Zugriff auf:

  • über 67.000 Bücher
  • über 340 Zeitschriften

aus folgenden Fachgebieten:

  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Finance + Banking
  • Management + Führung
  • Marketing + Vertrieb
  • Versicherung + Risiko




Jetzt Wissensvorsprung sichern!

Springer Professional "Technik"

Online-Abonnement

Mit Springer Professional "Technik" erhalten Sie Zugriff auf:

  • über 67.000 Bücher
  • über 390 Zeitschriften

aus folgenden Fachgebieten:

  • Automobil + Motoren
  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Elektrotechnik + Elektronik
  • Energie + Nachhaltigkeit
  • Maschinenbau + Werkstoffe




 

Jetzt Wissensvorsprung sichern!

Springer Professional "Wirtschaft+Technik"

Online-Abonnement

Mit Springer Professional "Wirtschaft+Technik" erhalten Sie Zugriff auf:

  • über 102.000 Bücher
  • über 537 Zeitschriften

aus folgenden Fachgebieten:

  • Automobil + Motoren
  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Elektrotechnik + Elektronik
  • Energie + Nachhaltigkeit
  • Finance + Banking
  • Management + Führung
  • Marketing + Vertrieb
  • Maschinenbau + Werkstoffe
  • Versicherung + Risiko

Jetzt Wissensvorsprung sichern!

Anhänge
Nur mit Berechtigung zugänglich
Literatur
Zurück zum Zitat Alshayeb M, Li W (2005) An empirical study of system design instability metric and design evolution in an agile software process. J Syst Softw 74(3):269–274CrossRef Alshayeb M, Li W (2005) An empirical study of system design instability metric and design evolution in an agile software process. J Syst Softw 74(3):269–274CrossRef
Zurück zum Zitat Beck K (2000) Extreme programming explained: embrace change. Addison-Wesley Professional Beck K (2000) Extreme programming explained: embrace change. Addison-Wesley Professional
Zurück zum Zitat Begel A, Nagappan N (2007, September). Usage and perceptions of agile software development in an industrial context: An exploratory study. In Empirical Software Engineering and Measurement, 2007. ESEM 2007. First International Symposium on (pp 255–264). IEEE Begel A, Nagappan N (2007, September). Usage and perceptions of agile software development in an industrial context: An exploratory study. In Empirical Software Engineering and Measurement, 2007. ESEM 2007. First International Symposium on (pp 255–264). IEEE
Zurück zum Zitat Belady LA, Lehman MM (1976) A model of large program development. IBM Syst J 15(3):225–252CrossRefMATH Belady LA, Lehman MM (1976) A model of large program development. IBM Syst J 15(3):225–252CrossRefMATH
Zurück zum Zitat Bellomo S, Nord RL, Ozkaya I (2013, May). A study of enabling factors for rapid fielding combined practices to balance speed and stability. In Software Engineering (ICSE), 2013 35th International Conference on (pp 982–991). IEEE Bellomo S, Nord RL, Ozkaya I (2013, May). A study of enabling factors for rapid fielding combined practices to balance speed and stability. In Software Engineering (ICSE), 2013 35th International Conference on (pp 982–991). IEEE
Zurück zum Zitat Brasil MMA, da Silva TGN, de Freitas FG, de Souza JT, Cortés MI (2012) A multiobjective optimization approach to the software release planning with undefined number of releases and interdependent requirements. In Enterprise Information Systems (pp 300–314). Springer Berlin Heidelberg Brasil MMA, da Silva TGN, de Freitas FG, de Souza JT, Cortés MI (2012) A multiobjective optimization approach to the software release planning with undefined number of releases and interdependent requirements. In Enterprise Information Systems (pp 300–314). Springer Berlin Heidelberg
Zurück zum Zitat Buchmann F, Nord RL, Ozakaya I (2012) Architectural Tactics to support rapid and agile stability. Carnegie-Mellon Univ Pittsburgh PA Software Engineering Inst Buchmann F, Nord RL, Ozakaya I (2012) Architectural Tactics to support rapid and agile stability. Carnegie-Mellon Univ Pittsburgh PA Software Engineering Inst
Zurück zum Zitat Cao L, Ramesh B, Abdel-Hamid T (2010) Modeling dynamics in agile software development. ACM Trans Manag Inf Syst (TMIS) 1(1):5 Cao L, Ramesh B, Abdel-Hamid T (2010) Modeling dynamics in agile software development. ACM Trans Manag Inf Syst (TMIS) 1(1):5
Zurück zum Zitat Chen J, Xiao J, Wang Q, Osterweil LJ, Li M (2014, May). Refactoring planning and practice in agile software development: an empirical study. In Proceedings of the 2014 International Conference on Software and System Process (pp 55–64). ACM. (Best paper award) Chen J, Xiao J, Wang Q, Osterweil LJ, Li M (2014, May). Refactoring planning and practice in agile software development: an empirical study. In Proceedings of the 2014 International Conference on Software and System Process (pp 55–64). ACM. (Best paper award)
Zurück zum Zitat Chen L, Babar MA (2014) “Towards an Evidence-Based Understanding of Emergence of Architecture through Continuous Refactoring in Agile Software Development.” Software Architecture (WICSA), 2014 IEEE/IFIP Conference on. IEEE Chen L, Babar MA (2014) “Towards an Evidence-Based Understanding of Emergence of Architecture through Continuous Refactoring in Agile Software Development.” Software Architecture (WICSA), 2014 IEEE/IFIP Conference on. IEEE
Zurück zum Zitat Dig D, Johnson R (2005, September). The role of refactorings in API evolution. In Software Maintenance, 2005. ICSM‘05. Proceedings of the 21st IEEE International Conference on (pp 389–398). IEEE Dig D, Johnson R (2005, September). The role of refactorings in API evolution. In Software Maintenance, 2005. ICSM‘05. Proceedings of the 21st IEEE International Conference on (pp 389–398). IEEE
Zurück zum Zitat Dong X, Yang QS, Wang Q, Zhai J, Ruhe G (2011, December). Value-Risk Trade-off Analysis for Iteration Planning in eXtreme Programming. In Software Engineering Conference (APSEC), 2011 18th Asia Pacific (pp 397–404). IEEE Dong X, Yang QS, Wang Q, Zhai J, Ruhe G (2011, December). Value-Risk Trade-off Analysis for Iteration Planning in eXtreme Programming. In Software Engineering Conference (APSEC), 2011 18th Asia Pacific (pp 397–404). IEEE
Zurück zum Zitat Drury M, Conboy K, Power K (2012) Obstacles to decision making in agile software development teams. J Syst Softw 85(6):1239–1254CrossRef Drury M, Conboy K, Power K (2012) Obstacles to decision making in agile software development teams. J Syst Softw 85(6):1239–1254CrossRef
Zurück zum Zitat Dybå T, Dingsøyr T (2008) Empirical studies of agile software development: a systematic review. Inf Softw Technol 50(9):833–859CrossRef Dybå T, Dingsøyr T (2008) Empirical studies of agile software development: a systematic review. Inf Softw Technol 50(9):833–859CrossRef
Zurück zum Zitat Elssamadisy A, Schalliol G (2002, May). Recognizing and responding to bad smells in extreme programming. In Proceedings of the 24th International conference on Software Engineering (pp 617–622). ACM Elssamadisy A, Schalliol G (2002, May). Recognizing and responding to bad smells in extreme programming. In Proceedings of the 24th International conference on Software Engineering (pp 617–622). ACM
Zurück zum Zitat Fink A (Ed) (2003) The survey handbook (Vol. 1). Sage Fink A (Ed) (2003) The survey handbook (Vol. 1). Sage
Zurück zum Zitat Fowler M (1999) Refactoring: improving the design of existing code. Pearson Education India Fowler M (1999) Refactoring: improving the design of existing code. Pearson Education India
Zurück zum Zitat Harman M, Tratt L (2007, July) Pareto optimal search based refactoring at the design level. In Proceedings of the 9th annual conference on Genetic and evolutionary computation (pp 1106–1113). ACM Harman M, Tratt L (2007, July) Pareto optimal search based refactoring at the design level. In Proceedings of the 9th annual conference on Genetic and evolutionary computation (pp 1106–1113). ACM
Zurück zum Zitat Jones JA, Harrold MJ, Stasko J (2002, May) Visualization of test information to assist fault localization. In Proceedings of the 24th international conference on Software engineering (pp 467–477). ACM Jones JA, Harrold MJ, Stasko J (2002, May) Visualization of test information to assist fault localization. In Proceedings of the 24th international conference on Software engineering (pp 467–477). ACM
Zurück zum Zitat Kataoka Y, Imai T, Andou H, Fukaya T (2002) A quantitative evaluation of maintainability enhancement by refactoring. In Software Maintenance, 2002. Proceedings. International Conference on (pp 576–585). IEEE Kataoka Y, Imai T, Andou H, Fukaya T (2002) A quantitative evaluation of maintainability enhancement by refactoring. In Software Maintenance, 2002. Proceedings. International Conference on (pp 576–585). IEEE
Zurück zum Zitat Kim M, Zimmermann T, Nagappan N (2012, November) A field study of refactoring challenges and benefits. In Proceedings of the ACM SIGSOFT 20th International Symposium on the Foundations of Software Engineering(p. 50). ACM Kim M, Zimmermann T, Nagappan N (2012, November) A field study of refactoring challenges and benefits. In Proceedings of the ACM SIGSOFT 20th International Symposium on the Foundations of Software Engineering(p. 50). ACM
Zurück zum Zitat Kolb R, Muthig D, Patzke T, Yamauchi K (2006) Refactoring a legacy component for reuse in a software product line: a case study. J Softw Maint Evol Res Pract 18(2):109–132CrossRef Kolb R, Muthig D, Patzke T, Yamauchi K (2006) Refactoring a legacy component for reuse in a software product line: a case study. J Softw Maint Evol Res Pract 18(2):109–132CrossRef
Zurück zum Zitat Leitch R, Stroulia E (2003, May) Understanding the economics of refactoring. In EDSER-5 5 th International Workshop on Economic-Driven Software Engineering Research (p. 44) Leitch R, Stroulia E (2003, May) Understanding the economics of refactoring. In EDSER-5 5 th International Workshop on Economic-Driven Software Engineering Research (p. 44)
Zurück zum Zitat Marinescu R (2005, September) Measurement and quality in object-oriented design. In Software Maintenance, 2005. ICSM‘05. Proceedings of the 21st IEEE International Conference on (pp 701–704). IEEE Marinescu R (2005, September) Measurement and quality in object-oriented design. In Software Maintenance, 2005. ICSM‘05. Proceedings of the 21st IEEE International Conference on (pp 701–704). IEEE
Zurück zum Zitat Moser R, Abrahamsson P, Pedrycz W, Sillitti A, Succi G (2008) A case study on the impact of refactoring on quality and productivity in an agile team. In Balancing Agility and Formalism in Software Engineering (pp 252–266). Springer Berlin Heidelberg Moser R, Abrahamsson P, Pedrycz W, Sillitti A, Succi G (2008) A case study on the impact of refactoring on quality and productivity in an agile team. In Balancing Agility and Formalism in Software Engineering (pp 252–266). Springer Berlin Heidelberg
Zurück zum Zitat Moser R, Sillitti A, Abrahamsson P, Succi G (2006) Does refactoring improve reusability?. In Reuse of Off-the-Shelf Components (pp 287–297). Springer Berlin Heidelberg Moser R, Sillitti A, Abrahamsson P, Succi G (2006) Does refactoring improve reusability?. In Reuse of Off-the-Shelf Components (pp 287–297). Springer Berlin Heidelberg
Zurück zum Zitat Murphy-Hill E, Parnin C, Black AP (2012) How we refactor, and how we know it. Softw Eng IEEE Trans 38(1):5–18CrossRef Murphy-Hill E, Parnin C, Black AP (2012) How we refactor, and how we know it. Softw Eng IEEE Trans 38(1):5–18CrossRef
Zurück zum Zitat Negara S, Chen N, Vakilian M, Johnson RE, Dig D (2012) Using Continuous Code Change Analysis to Understand the Practice of Refactoring Negara S, Chen N, Vakilian M, Johnson RE, Dig D (2012) Using Continuous Code Change Analysis to Understand the Practice of Refactoring
Zurück zum Zitat Nidhra S, Dondeti J, Katikar P, Tekkali S (2012, September) Implementing the concept of refactoring in software development. InSoftware Engineering (CONSEG), 2012 CSI Sixth International Conference on (pp 1–8). IEEE Nidhra S, Dondeti J, Katikar P, Tekkali S (2012, September) Implementing the concept of refactoring in software development. InSoftware Engineering (CONSEG), 2012 CSI Sixth International Conference on (pp 1–8). IEEE
Zurück zum Zitat Przepiora M, Karimpour R, Ruhe G (2012, September) A hybrid release planning method and its empirical justification. In Proceedings of the ACM-IEEE international symposium on Empirical software engineering and measurement (pp 115–118). ACM Przepiora M, Karimpour R, Ruhe G (2012, September) A hybrid release planning method and its empirical justification. In Proceedings of the ACM-IEEE international symposium on Empirical software engineering and measurement (pp 115–118). ACM
Zurück zum Zitat Rachatasumrit N, Kim M (2012, September) An empirical investigation into the impact of refactoring on regression testing. In Software Maintenance (ICSM), 2012 28th IEEE International Conference on (pp 357–366). IEEE Rachatasumrit N, Kim M (2012, September) An empirical investigation into the impact of refactoring on regression testing. In Software Maintenance (ICSM), 2012 28th IEEE International Conference on (pp 357–366). IEEE
Zurück zum Zitat Ratzinger J, Sigmund T, Gall HC (2008, May) On the relation of refactorings and software defect prediction. In Proceedings of the 2008 international working conference on Mining software repositories (pp 35–38). ACM Ratzinger J, Sigmund T, Gall HC (2008, May) On the relation of refactorings and software defect prediction. In Proceedings of the 2008 international working conference on Mining software repositories (pp 35–38). ACM
Zurück zum Zitat Reddy KR, Rao AA (2009) Dependency oriented complexity metrics to detect rippling related design defects. ACM SIGSOFT Softw Eng Notes 34(4):1–7CrossRef Reddy KR, Rao AA (2009) Dependency oriented complexity metrics to detect rippling related design defects. ACM SIGSOFT Softw Eng Notes 34(4):1–7CrossRef
Zurück zum Zitat Sahraoui HA, Godin R, Miceli T (2000) Can metrics help to bridge the gap between the improvement of oo design quality and its automation?. In Software Maintenance, 2000. Proceedings. International Conference on (pp 154–162). IEEE Sahraoui HA, Godin R, Miceli T (2000) Can metrics help to bridge the gap between the improvement of oo design quality and its automation?. In Software Maintenance, 2000. Proceedings. International Conference on (pp 154–162). IEEE
Zurück zum Zitat Schwaber K, Beedle M (2002) Agile Software Development with Scrum Schwaber K, Beedle M (2002) Agile Software Development with Scrum
Zurück zum Zitat Schwaber K, Sutherland J (2011). Scrum guidebook. Scrum. org and Scrum Inc Schwaber K, Sutherland J (2011). Scrum guidebook. Scrum. org and Scrum Inc
Zurück zum Zitat Simon F, Steinbruckner F, Lewerentz C (2001). Metrics based refactoring. In Software Maintenance and Reengineering, 2001. Fifth European Conference on (pp 30–38). IEEE Simon F, Steinbruckner F, Lewerentz C (2001). Metrics based refactoring. In Software Maintenance and Reengineering, 2001. Fifth European Conference on (pp 30–38). IEEE
Zurück zum Zitat Soares G, Gheyi R, Serey D, Massoni T (2010) Making program refactoring safer. Software IEEE 27(4):52–57CrossRef Soares G, Gheyi R, Serey D, Massoni T (2010) Making program refactoring safer. Software IEEE 27(4):52–57CrossRef
Zurück zum Zitat Venables WN, Smith DM, R Development Core Team (2002) An introduction to R Venables WN, Smith DM, R Development Core Team (2002) An introduction to R
Zurück zum Zitat Xing Z, Stroulia E (2005, November) UMLDiff: an algorithm for object-oriented design differencing. In Proceedings of the 20th IEEE/ACM international Conference on Automated software engineering (pp 54–65). ACM Xing Z, Stroulia E (2005, November) UMLDiff: an algorithm for object-oriented design differencing. In Proceedings of the 20th IEEE/ACM international Conference on Automated software engineering (pp 54–65). ACM
Zurück zum Zitat Yamashita A, Moonen L (2013, October) Do developers care about code smells? An exploratory survey. In Reverse Engineering (WCRE), 2013 20th Working Conference on (pp 242–251). IEEE Yamashita A, Moonen L (2013, October) Do developers care about code smells? An exploratory survey. In Reverse Engineering (WCRE), 2013 20th Working Conference on (pp 242–251). IEEE
Zurück zum Zitat Zhang L, Kim M, Khurshid S (2011, September) Localizing failure-inducing program edits based on spectrum information. In Software Maintenance (ICSM), 2011 27th IEEE International Conference on (pp 23–32). IEEE Zhang L, Kim M, Khurshid S (2011, September) Localizing failure-inducing program edits based on spectrum information. In Software Maintenance (ICSM), 2011 27th IEEE International Conference on (pp 23–32). IEEE
Metadaten
Titel
Perspectives on refactoring planning and practice: an empirical study
verfasst von
Jie Chen
Junchao Xiao
Qing Wang
Leon J. Osterweil
Mingshu Li
Publikationsdatum
01.06.2016
Verlag
Springer US
Erschienen in
Empirical Software Engineering / Ausgabe 3/2016
Print ISSN: 1382-3256
Elektronische ISSN: 1573-7616
DOI
https://doi.org/10.1007/s10664-015-9390-8

Weitere Artikel der Ausgabe 3/2016

Empirical Software Engineering 3/2016 Zur Ausgabe

Premium Partner