Skip to main content
Erschienen in: Software Quality Journal 2/2015

01.06.2015

Prioritizing code-smells correction tasks using chemical reaction optimization

verfasst von: Ali Ouni, Marouane Kessentini, Slim Bechikh, Houari Sahraoui

Erschienen in: Software Quality Journal | Ausgabe 2/2015

Einloggen

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

search-config
loading …

Abstract

The presence of code-smells increases significantly the cost of maintenance of systems and makes them difficult to change and evolve. To remove code-smells, refactoring operations are used to improve the design of a system by changing its internal structure without altering the external behavior. In large-scale systems, the number of code-smells to fix can be very large and not all of them can be fixed automatically. Thus, the prioritization of the list of code-smells is required based on different criteria such as the risk and importance of classes. However, most of the existing refactoring approaches treat the code-smells to fix with the same importance. In this paper, we propose an approach based on a chemical reaction optimization metaheuristic search to find the suitable refactoring solutions (i.e., sequence of refactoring operations) that maximize the number of fixed riskiest code-smells according to the maintainer’s preferences/criteria. We evaluate our approach on five medium- and large-sized open-source systems and seven types of code-smells. Our experimental results show the effectiveness of our approach compared to other existing approaches and three different others metaheuristic searches.

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 "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!

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!

Literatur
Zurück zum Zitat Alba, E., & Chicano, F. (2005). Management of software projects with GAs. In Proceedings of the 6th metaheuristics international conference (MIC’05). Elsevier, 13–18, 2005. Alba, E., & Chicano, F. (2005). Management of software projects with GAs. In Proceedings of the 6th metaheuristics international conference (MIC’05). Elsevier, 13–18, 2005.
Zurück zum Zitat Alikacem, H., & Sahraoui. H. (2006). Détection d’anomalies utilisant un langage de description de règle de qualité, in actes du 12e colloque LMO. Alikacem, H., & Sahraoui. H. (2006). Détection d’anomalies utilisant un langage de description de règle de qualité, in actes du 12e colloque LMO.
Zurück zum Zitat Arcuri, A., & Briand, L. C. (2011). A practical guide for using statistical tests to assess randomized algorithms in software engineering. In Proceedings of the 33rd international conference on software engineering (ICSE ‘11), (pp. 1–10). New York, NY, USA: ACM. Arcuri, A., & Briand, L. C. (2011). A practical guide for using statistical tests to assess randomized algorithms in software engineering. In Proceedings of the 33rd international conference on software engineering (ICSE ‘11), (pp. 1–10). New York, NY, USA: ACM.
Zurück zum Zitat Brown, W. J., Malveau, R. C., Brown, W. H., McCornnick, W. H, I. I. I., & Mowbray, T. J. (1998). Anti patterns: Refactoring software, architectures, and projects in crisis. New York: Wiley. Brown, W. J., Malveau, R. C., Brown, W. H., McCornnick, W. H, I. I. I., & Mowbray, T. J. (1998). Anti patterns: Refactoring software, architectures, and projects in crisis. New York: Wiley.
Zurück zum Zitat Canfora, G., Di Penta, M., Esposito, R., & Andvillani, M. L. (2005) An approach for QoS-aware service composition based on genetic algorithms. In Proceedings of the conference on genetic and evolutionary computation (GECCO’05), (pp. 1069–1075). New York: ACM Press. Canfora, G., Di Penta, M., Esposito, R., & Andvillani, M. L. (2005) An approach for QoS-aware service composition based on genetic algorithms. In Proceedings of the conference on genetic and evolutionary computation (GECCO’05), (pp. 1069–1075). New York: ACM Press.
Zurück zum Zitat Chidamber, S. R., & Kemerer, C. F. (1994). A metrics suite for object oriented design. IEEE Transactions on Software Engineering, 20(6), 476–493.CrossRef Chidamber, S. R., & Kemerer, C. F. (1994). A metrics suite for object oriented design. IEEE Transactions on Software Engineering, 20(6), 476–493.CrossRef
Zurück zum Zitat Cinnéide, M. Ó., Tratt, L., Harman, M., Counsell, S., & Moghadam, I. H. (2012). Experimental assessment of software metrics using automated refactoring. In Proceedings of empirical software engineering and management (ESEM), pp. 49–58, September 2012. Cinnéide, M. Ó., Tratt, L., Harman, M., Counsell, S., & Moghadam, I. H. (2012). Experimental assessment of software metrics using automated refactoring. In Proceedings of empirical software engineering and management (ESEM), pp. 49–58, September 2012.
Zurück zum Zitat Cohen, J. (1988). Statistical power analysis for the behavioral sciences (2nd ed.). New York, USA: Lawrence Earlbaum Associates. Cohen, J. (1988). Statistical power analysis for the behavioral sciences (2nd ed.). New York, USA: Lawrence Earlbaum Associates.
Zurück zum Zitat Du Bois, B., Demeyer, S., & Verelst, J. (2004). Refactoring—Improving coupling and cohesion of existing code. In Proceedings of 11th working conference reverse engineering (WCRE), 2004, pp. 144–151. Du Bois, B., Demeyer, S., & Verelst, J. (2004). Refactoring—Improving coupling and cohesion of existing code. In Proceedings of 11th working conference reverse engineering (WCRE), 2004, pp. 144–151.
Zurück zum Zitat Erlikh, L. (2000). Leveraging legacy system dollars for e-business. IT Professional, 02(3), 17–23.CrossRef Erlikh, L. (2000). Leveraging legacy system dollars for e-business. IT Professional, 02(3), 17–23.CrossRef
Zurück zum Zitat Fatiregun, D., Harman, M., & Hierons, R. (2004). Evolving transformation sequences using genetic algorithms. In SCAM 04, (pp. 65–74). Los Alamitos, CA, USA: IEEE Computer Society Press. Fatiregun, D., Harman, M., & Hierons, R. (2004). Evolving transformation sequences using genetic algorithms. In SCAM 04, (pp. 65–74). Los Alamitos, CA, USA: IEEE Computer Society Press.
Zurück zum Zitat Fenton, N., & Pfleeger, S. L. (1997). Software metrics: A rigorous and practical approach (2nd ed.). London: International Thomson Computer Press. Fenton, N., & Pfleeger, S. L. (1997). Software metrics: A rigorous and practical approach (2nd ed.). London: International Thomson Computer Press.
Zurück zum Zitat Fowler, M., Beck, K., Brant, J., Opdyke, W., & Roberts, D. (1999). Refactoring: Improving the design of existing code (1st ed.). Reading, MA: Addison-Wesley. Fowler, M., Beck, K., Brant, J., Opdyke, W., & Roberts, D. (1999). Refactoring: Improving the design of existing code (1st ed.). Reading, MA: Addison-Wesley.
Zurück zum Zitat Freitas, F. G., & Souza, J. T. (2011). Ten years of search based software engineering: A bibliometric analysis. In 3rd international symposium on search based software engineering (SSBSE 2011), 10–12th September 2011, pp. 18–32. Freitas, F. G., & Souza, J. T. (2011). Ten years of search based software engineering: A bibliometric analysis. In 3rd international symposium on search based software engineering (SSBSE 2011), 10–12th September 2011, pp. 18–32.
Zurück zum Zitat Fraser, G., & Arcuri, A. (2013). Handling test length bloat. Software Testing, Verification and Reliability, 23(7), 553–582.CrossRef Fraser, G., & Arcuri, A. (2013). Handling test length bloat. Software Testing, Verification and Reliability, 23(7), 553–582.CrossRef
Zurück zum Zitat Glover, F., & Laguna, M. (1997). Tabu search. Boston, MA: Kluwer Academic Publishers.CrossRefMATH Glover, F., & Laguna, M. (1997). Tabu search. Boston, MA: Kluwer Academic Publishers.CrossRefMATH
Zurück zum Zitat Goldberg, D. E. (1989). Genetic algorithms in search, optimization, and machine learning. Reading, MA: Addison-Wesley.MATH Goldberg, D. E. (1989). Genetic algorithms in search, optimization, and machine learning. Reading, MA: Addison-Wesley.MATH
Zurück zum Zitat Harman, M. (2007). The current state and future of search based software engineering. In L. Briand & A. Wolf (Eds.), Future of software engineering 2007 (pp. 342–357). Los Alamitos, CA: IEEE Computer Society Press. Harman, M. (2007). The current state and future of search based software engineering. In L. Briand & A. Wolf (Eds.), Future of software engineering 2007 (pp. 342–357). Los Alamitos, CA: IEEE Computer Society Press.
Zurück zum Zitat Harman, M., & Jones, B. F. (2001). Search-based software engineering. Information and Software Technology, 43(14), 833–839.CrossRef Harman, M., & Jones, B. F. (2001). Search-based software engineering. Information and Software Technology, 43(14), 833–839.CrossRef
Zurück zum Zitat Harman, M., & Tratt, L. (2007) Pareto optimal search based refactoring at the design level. In Proceedings of the genetic and evolutionary computation conference (GECCO’07), 2007, pp. 1106–1113. Harman, M., & Tratt, L. (2007) Pareto optimal search based refactoring at the design level. In Proceedings of the genetic and evolutionary computation conference (GECCO’07), 2007, pp. 1106–1113.
Zurück zum Zitat Harman, M., Mansouri, S. A., & Zhang, Y. (2012). Search-based software engineering: Trends, techniques and applications. ACM Computing Surveys, 45, 61.CrossRef Harman, M., Mansouri, S. A., & Zhang, Y. (2012). Search-based software engineering: Trends, techniques and applications. ACM Computing Surveys, 45, 61.CrossRef
Zurück zum Zitat Infusion hydrogen: Design flaw detection tool. 2012. Infusion hydrogen: Design flaw detection tool. 2012.
Zurück zum Zitat Jensen, A., & Cheng, B. (2010). On the use of genetic programming for automated refactoring and the introduction of design patterns. In Proceedings of GECCO. ACM, July 2010. Jensen, A., & Cheng, B. (2010). On the use of genetic programming for automated refactoring and the introduction of design patterns. In Proceedings of GECCO. ACM, July 2010.
Zurück zum Zitat Joshi, P., & Joshi, R. K. (2009). Concept analysis for class cohesion. In Proceedings of the 13th European conference on software maintenance and reengineering, Kaiserslautern, Germany, pp. 237–240, 2009. Joshi, P., & Joshi, R. K. (2009). Concept analysis for class cohesion. In Proceedings of the 13th European conference on software maintenance and reengineering, Kaiserslautern, Germany, pp. 237–240, 2009.
Zurück zum Zitat Jourdan, L., Basseur, M., & Talbi, E.-G. (2009). Hybridizing exact methods and metaheuristics: A taxonomy. European Journal of Operational Research, 199(3), 620–629.CrossRefMATHMathSciNet Jourdan, L., Basseur, M., & Talbi, E.-G. (2009). Hybridizing exact methods and metaheuristics: A taxonomy. European Journal of Operational Research, 199(3), 620–629.CrossRefMATHMathSciNet
Zurück zum Zitat Kataoka, Y., Ernst, M. D., Griswold, W. G., & Notkin, D. (2001). Automated support for program refactoring using invariants. In International conference on software maintenance (ICSM), pp. 736–743, 2001. Kataoka, Y., Ernst, M. D., Griswold, W. G., & Notkin, D. (2001). Automated support for program refactoring using invariants. In International conference on software maintenance (ICSM), pp. 736–743, 2001.
Zurück zum Zitat Kennedy, J., & Eberhart, R. C. (1995). Particle swarm optimization. In Proceedings of IEEE international conference neural networks, Perth, Australia, November 1995, pp. 1942–1948. Kennedy, J., & Eberhart, R. C. (1995). Particle swarm optimization. In Proceedings of IEEE international conference neural networks, Perth, Australia, November 1995, pp. 1942–1948.
Zurück zum Zitat Kessentini, M., Vaucher, S., & Sahraoui, H. (2010). Deviance from perfection is a better criterion than closeness to evil when identifying risky code. In Proceedings of the international conference on automated software engineering, ASE’10, 2010. Kessentini, M., Vaucher, S., & Sahraoui, H. (2010). Deviance from perfection is a better criterion than closeness to evil when identifying risky code. In Proceedings of the international conference on automated software engineering, ASE’10, 2010.
Zurück zum Zitat Kessentini, M., Kessentini, W., Sahraoui, H., Boukadoum, M., & Ouni, A. (2011) Design defects detection and correction by example. In 19th IEEE ICPC11, Kingston, Canada, pp. 81–90. Kessentini, M., Kessentini, W., Sahraoui, H., Boukadoum, M., & Ouni, A. (2011) Design defects detection and correction by example. In 19th IEEE ICPC11, Kingston, Canada, pp. 81–90.
Zurück zum Zitat Khomh, F., Penta, M. D., & Gueheneuc, Y.-G. (2009a). An exploratory study of the impact of code smells on software change-proneness. In Proceedings of WCRE 2009 (16th IEEE working conference on reverse engineering), pp. 75–84, 2009. Khomh, F., Penta, M. D., & Gueheneuc, Y.-G. (2009a). An exploratory study of the impact of code smells on software change-proneness. In Proceedings of WCRE 2009 (16th IEEE working conference on reverse engineering), pp. 75–84, 2009.
Zurück zum Zitat Khomh, F., Vaucher, S., Guéhéneuc, Y.-G., & Sahraoui, H. (2009b). A bayesian approach for the detection of code and design smells. In Proceedings of the ICQS’09. Khomh, F., Vaucher, S., Guéhéneuc, Y.-G., & Sahraoui, H. (2009b). A bayesian approach for the detection of code and design smells. In Proceedings of the ICQS’09.
Zurück zum Zitat Kilic, H., Koc, E., & Cereci, I. (2011). Search-based parallel refactoring using population-based direct approaches. In Proceedings of the third international conference on search based software engineering, SSBSE’11, pp. 271–272, 2011. Kilic, H., Koc, E., & Cereci, I. (2011). Search-based parallel refactoring using population-based direct approaches. In Proceedings of the third international conference on search based software engineering, SSBSE’11, pp. 271–272, 2011.
Zurück zum Zitat Kirkpatrick, S., Gelatt, C. D, Jr, & Vecchi, M. P. (1983). Optimization by simulated annealing. Science, 220(4598), 671–680.CrossRefMATHMathSciNet Kirkpatrick, S., Gelatt, C. D, Jr, & Vecchi, M. P. (1983). Optimization by simulated annealing. Science, 220(4598), 671–680.CrossRefMATHMathSciNet
Zurück zum Zitat Lam, A. Y. S., & Li, V. O. K. (2010). Chemical-reaction-inspired metaheuristic for optimization. IEEE Transactions Evolutionary Computation, 14(3), 381–399.CrossRef Lam, A. Y. S., & Li, V. O. K. (2010). Chemical-reaction-inspired metaheuristic for optimization. IEEE Transactions Evolutionary Computation, 14(3), 381–399.CrossRef
Zurück zum Zitat Lam, A. Y. S., Li, V. O. -K., & Wei, Z. (2012a). Chemical reaction optimization for the fuzzy rule learning problem. Evolutionary Computation (CEC), 2012 IEEE Congress on 10–15 June 2012, pp. 1–8. Lam, A. Y. S., Li, V. O. -K., & Wei, Z. (2012a). Chemical reaction optimization for the fuzzy rule learning problem. Evolutionary Computation (CEC), 2012 IEEE Congress on 10–15 June 2012, pp. 1–8.
Zurück zum Zitat Lam, A. Y. S., Li, V. O. K., & Yu, J. J. Q. (2012b). Real-coded chemical reaction optimization. IEEE Transactions Evolutionary Computation, 16(3), 339–353.CrossRef Lam, A. Y. S., Li, V. O. K., & Yu, J. J. Q. (2012b). Real-coded chemical reaction optimization. IEEE Transactions Evolutionary Computation, 16(3), 339–353.CrossRef
Zurück zum Zitat Lam, A. Y. S., Li, V. O. K., & Xu, J. (2013). On the convergence of chemical reaction optimization for combinatorial optimization. IEEE Transaction Evolutionary Computation, 17(5), 605–620.CrossRef Lam, A. Y. S., Li, V. O. K., & Xu, J. (2013). On the convergence of chemical reaction optimization for combinatorial optimization. IEEE Transaction Evolutionary Computation, 17(5), 605–620.CrossRef
Zurück zum Zitat Le Goues, C., Nguyen, T., Forrest, S., & Weimer, W. (2012). Genprog: A generic method for automatic software repair. IEEE Transactions on Software Engineering, 38(1), 54–72.CrossRef Le Goues, C., Nguyen, T., Forrest, S., & Weimer, W. (2012). Genprog: A generic method for automatic software repair. IEEE Transactions on Software Engineering, 38(1), 54–72.CrossRef
Zurück zum Zitat Marinescu, R. (2004). Detection strategies: Metrics-based rules for detecting design flaws. In Proceedings of the 20th international conference on software maintenance (pp. 350–359). IEEE Computer Society Press. Marinescu, R. (2004). Detection strategies: Metrics-based rules for detecting design flaws. In Proceedings of the 20th international conference on software maintenance (pp. 350–359). IEEE Computer Society Press.
Zurück zum Zitat Martin, R. C. (2008). Clean code: A handbook of agile software craftsmanship. Englewood Cliffs: Prentice Hall. Martin, R. C. (2008). Clean code: A handbook of agile software craftsmanship. Englewood Cliffs: Prentice Hall.
Zurück zum Zitat McMinn, P. (2004). Search-Based software test data generation: A survey. Software Testing, Verification and Reliability, 14, 2.CrossRef McMinn, P. (2004). Search-Based software test data generation: A survey. Software Testing, Verification and Reliability, 14, 2.CrossRef
Zurück zum Zitat Mens, T., & Tourwé, T. (2004). A survey of software refactoring. IEEE Transactions on Software Engineering, 30(2), 126–139.CrossRef Mens, T., & Tourwé, T. (2004). A survey of software refactoring. IEEE Transactions on Software Engineering, 30(2), 126–139.CrossRef
Zurück zum Zitat Moha, N., Hacene, A., Valtchev, P. & Guéhéneuc, Y.-G. (2008). Refactorings of design defects using relational concept analysis. In R. Medina, & S. Obiedkov (Eds.), Proceedings of the 4th international conference on formal concept analysis (ICFCA 2008), February 2008. Moha, N., Hacene, A., Valtchev, P. & Guéhéneuc, Y.-G. (2008). Refactorings of design defects using relational concept analysis. In R. Medina, & S. Obiedkov (Eds.), Proceedings of the 4th international conference on formal concept analysis (ICFCA 2008), February 2008.
Zurück zum Zitat Moha, N., Guéhéneuc, Y.-G., Duchien, L., & Meur, A.-F. L. (2010). DECOR: A method for the specification and detection of code and design smells. Transactions on Software Engineering (TSE) 36(1), 20–36. Moha, N., Guéhéneuc, Y.-G., Duchien, L., & Meur, A.-F. L. (2010). DECOR: A method for the specification and detection of code and design smells. Transactions on Software Engineering (TSE) 36(1), 20–36.
Zurück zum Zitat Munro, M. J. (2005). Product metrics for automatic identification of bad smell” design problems in java source-code. In F. Lanubile, & C. Seaman (Eds.), Proceedings of the 11th international software metrics symposium. IEEE Computer Society Press (2005). Munro, M. J. (2005). Product metrics for automatic identification of bad smell” design problems in java source-code. In F. Lanubile, & C. Seaman (Eds.), Proceedings of the 11th international software metrics symposium. IEEE Computer Society Press (2005).
Zurück zum Zitat Ó Cinnéide, M. (2000). Automated application of design patterns: A refactoring approach. Ph.D. dissertation, University of Dublin, Trinity College, Department of Computer Science, 2000. Ó Cinnéide, M. (2000). Automated application of design patterns: A refactoring approach. Ph.D. dissertation, University of Dublin, Trinity College, Department of Computer Science, 2000.
Zurück zum Zitat O’Keeffe, M., & Cinnéide, M. O. (2006). Search-based refactoring for software maintenance. Journal of Systems and Software, 81(4), 502–516.CrossRef O’Keeffe, M., & Cinnéide, M. O. (2006). Search-based refactoring for software maintenance. Journal of Systems and Software, 81(4), 502–516.CrossRef
Zurück zum Zitat Olbrich, S., Cruzes, D., Basili, V. R., & Zazworka, N. (2009) The evolution and impact of code smells: A case study of two open source systems. In ESEM, pp. 390–400. Olbrich, S., Cruzes, D., Basili, V. R., & Zazworka, N. (2009) The evolution and impact of code smells: A case study of two open source systems. In ESEM, pp. 390–400.
Zurück zum Zitat Olbrich, S. M., Cruzes, D. S., & Sjoberg, D. I. K. (2010). Are all code smells harmful? A study of god classes and brain classes in the evolution of three open source systems. In Software maintenance, ICSM 2010, pp. 1–10, Timisoara, 2010. Olbrich, S. M., Cruzes, D. S., & Sjoberg, D. I. K. (2010). Are all code smells harmful? A study of god classes and brain classes in the evolution of three open source systems. In Software maintenance, ICSM 2010, pp. 1–10, Timisoara, 2010.
Zurück zum Zitat Opdyke, W. F. (1992). Refactoring: A program restructuring aid in designing object-oriented application frameworks. Ph.D. thesis, University of Illinois at Urbana-Champaign, 1992. Opdyke, W. F. (1992). Refactoring: A program restructuring aid in designing object-oriented application frameworks. Ph.D. thesis, University of Illinois at Urbana-Champaign, 1992.
Zurück zum Zitat Otero, F. E. B., Johnson, C. G., Freitas, A. A., & Thompson., S. J. (2010) Refactoring in automatically generated programs. In Search based software engineering, international symposium on, 0, 2010. Otero, F. E. B., Johnson, C. G., Freitas, A. A., & Thompson., S. J. (2010) Refactoring in automatically generated programs. In Search based software engineering, international symposium on, 0, 2010.
Zurück zum Zitat Ouni, A., Kessentini, M., Sahraoui, H., & Boukadoum, M. (2012a). Maintainability defects detection and correction: A multi-objective approach. Journal of Automated Software Engineering, 20(1), 47–79. Ouni, A., Kessentini, M., Sahraoui, H., & Boukadoum, M. (2012a). Maintainability defects detection and correction: A multi-objective approach. Journal of Automated Software Engineering, 20(1), 47–79.
Zurück zum Zitat Ouni, A., Kessentini, M., Sahraoui, H., & Hamdi, M. S. (2012b) Search-based refactoring: Towards semantics preservation. In 28th IEEE international conference on software maintenance (ICSM), (pp. 347–356), September 23–28, 2012. Ouni, A., Kessentini, M., Sahraoui, H., & Hamdi, M. S. (2012b) Search-based refactoring: Towards semantics preservation. In 28th IEEE international conference on software maintenance (ICSM), (pp. 347–356), September 23–28, 2012.
Zurück zum Zitat Ouni, A., Kessentini, M., & Sahraoui, H. (2013). Search-based refactoring using recorded code changes. In Proceedings of the 17th European conference on software maintenance and reengineering (CSMR), Genova, Italy, March 5–8, 2013. Ouni, A., Kessentini, M., & Sahraoui, H. (2013). Search-based refactoring using recorded code changes. In Proceedings of the 17th European conference on software maintenance and reengineering (CSMR), Genova, Italy, March 5–8, 2013.
Zurück zum Zitat Prete, K., Rachatasumrit, N., Sudan, N., & M. Kim. (2010) Template-based reconstruction of complex refactorings. In Proceedings of the international conference on software maintenance (ICSM), 2010. Prete, K., Rachatasumrit, N., Sudan, N., & M. Kim. (2010) Template-based reconstruction of complex refactorings. In Proceedings of the international conference on software maintenance (ICSM), 2010.
Zurück zum Zitat Qayum, F., & Heckel, R. (2009) Local search-based refactoring as graph transformation. In Proceedings of 1st international symposium on search based software engineering, pp. 43–46, 2009. Qayum, F., & Heckel, R. (2009) Local search-based refactoring as graph transformation. In Proceedings of 1st international symposium on search based software engineering, pp. 43–46, 2009.
Zurück zum Zitat Ratiu, D., Ducasse, S., Gîrba, T., & Marinescu, R. (2004) Using history information to improve design flaws detection. In CSMR, pp. 223–232. Ratiu, D., Ducasse, S., Gîrba, T., & Marinescu, R. (2004) Using history information to improve design flaws detection. In CSMR, pp. 223–232.
Zurück zum Zitat Riel, A. J. (1996). Object-oriented design heuristics. Reading, MA: Addison-Wesley. Riel, A. J. (1996). Object-oriented design heuristics. Reading, MA: Addison-Wesley.
Zurück zum Zitat Roberts, D. B. (1999). Practical analysis for refactoring. PhD thesis, Department of Computer Science, University of Illinois, 1999. Roberts, D. B. (1999). Practical analysis for refactoring. PhD thesis, Department of Computer Science, University of Illinois, 1999.
Zurück zum Zitat Sahraoui, H., Godin, R., & Miceli, T. (2000). Can metrics help to bridge the gap between the Improvement of OO design quality and its automation? ICSM, 2000, 154–162. Sahraoui, H., Godin, R., & Miceli, T. (2000). Can metrics help to bridge the gap between the Improvement of OO design quality and its automation? ICSM, 2000, 154–162.
Zurück zum Zitat Seng, O., Stammel, J., & Burkhart, D. (2006). Search-based determination of refactorings for improving the class structure of object-oriented systems. In Proceedings of the genetic and evolutionary computation conference (GECCO’06), 2006, pp. 1909–1916. Seng, O., Stammel, J., & Burkhart, D. (2006). Search-based determination of refactorings for improving the class structure of object-oriented systems. In Proceedings of the genetic and evolutionary computation conference (GECCO’06), 2006, pp. 1909–1916.
Zurück zum Zitat Sun, Y., Lam, A. Y. S., Li, V. O. -K., Xu, J., & Yu, J. J. Q. (2012). Chemical reaction optimization for the optimal power flow problem. Evolutionary Computation (CEC), 2012 IEEE Congress on 10–15 June 2012, pp. 1–8. Sun, Y., Lam, A. Y. S., Li, V. O. -K., Xu, J., & Yu, J. J. Q. (2012). Chemical reaction optimization for the optimal power flow problem. Evolutionary Computation (CEC), 2012 IEEE Congress on 10–15 June 2012, pp. 1–8.
Zurück zum Zitat Tahvildari, L., & Kontogiannis, K. (2003). A metric-based approach to enhance design quality through meta-pattern transformation. In Proceedings of the 7th European conference on software maintenance and reengineering, Benevento, Italy, pp. 183–192, 2003. Tahvildari, L., & Kontogiannis, K. (2003). A metric-based approach to enhance design quality through meta-pattern transformation. In Proceedings of the 7th European conference on software maintenance and reengineering, Benevento, Italy, pp. 183–192, 2003.
Zurück zum Zitat Tsantalis, N., Chaikalis, T., & Chatzigeorgiou, A. (2008). JDeodorant: Identification and removal of type-checking bad smells. In Proceedings of CSMR2008, pp 329–331. Tsantalis, N., Chaikalis, T., & Chatzigeorgiou, A. (2008). JDeodorant: Identification and removal of type-checking bad smells. In Proceedings of CSMR2008, pp 329–331.
Zurück zum Zitat Vallée-Rai, R., Gagnon, E., Hendren, L. J., Lam, P., Pominville, P., & Sundaresan, V. (2000). Optimizing Java bytecode using the Soot framework: Is it feasible? In International conference on compiler construction, pp. 18–34, 2000. Vallée-Rai, R., Gagnon, E., Hendren, L. J., Lam, P., Pominville, P., & Sundaresan, V. (2000). Optimizing Java bytecode using the Soot framework: Is it feasible? In International conference on compiler construction, pp. 18–34, 2000.
Zurück zum Zitat Xu, J., Lam, A. Y. S., & Li, V. O. K. (2011). Chemical reaction optimization for task scheduling in grid computing. IEEE Transactions on Parallel and Distributed Systems, 22(10), 1624–1631.CrossRef Xu, J., Lam, A. Y. S., & Li, V. O. K. (2011). Chemical reaction optimization for task scheduling in grid computing. IEEE Transactions on Parallel and Distributed Systems, 22(10), 1624–1631.CrossRef
Zurück zum Zitat Yu, J. J. Q., Lam, A. Y. S., & Li, V. O. -. (2012) Real-coded chemical reaction optimization with different perturbation functions. Evolutionary Computation (CEC), 2012 IEEE Congress on 10–15 June 2012, pp. 1–8. Yu, J. J. Q., Lam, A. Y. S., & Li, V. O. -. (2012) Real-coded chemical reaction optimization with different perturbation functions. Evolutionary Computation (CEC), 2012 IEEE Congress on 10–15 June 2012, pp. 1–8.
Zurück zum Zitat Zhang, Y., Finkelstein, A., & Andharman, M. (2008). Search based requirements optimisation: Existing work and challenges. In Proceedings of the 14th international working conference, requirements engineering: Foundation for software quality (RefsQ’08). Lecture notes in computer science, (Vol. 5025, pp. 88–94). New York: Springer. Zhang, Y., Finkelstein, A., & Andharman, M. (2008). Search based requirements optimisation: Existing work and challenges. In Proceedings of the 14th international working conference, requirements engineering: Foundation for software quality (RefsQ’08). Lecture notes in computer science, (Vol. 5025, pp. 88–94). New York: Springer.
Metadaten
Titel
Prioritizing code-smells correction tasks using chemical reaction optimization
verfasst von
Ali Ouni
Marouane Kessentini
Slim Bechikh
Houari Sahraoui
Publikationsdatum
01.06.2015
Verlag
Springer US
Erschienen in
Software Quality Journal / Ausgabe 2/2015
Print ISSN: 0963-9314
Elektronische ISSN: 1573-1367
DOI
https://doi.org/10.1007/s11219-014-9233-7

Weitere Artikel der Ausgabe 2/2015

Software Quality Journal 2/2015 Zur Ausgabe

EditorialNotes

In this issue

Premium Partner