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

01-06-2015

Prioritizing code-smells correction tasks using chemical reaction optimization

Authors: Ali Ouni, Marouane Kessentini, Slim Bechikh, Houari Sahraoui

Published in: Software Quality Journal | Issue 2/2015

Log in

Activate our intelligent search to find suitable subject content or patents.

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.

Dont have a licence yet? Then find out more about our products and how to get one now:

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!

Literature
go back to reference 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.
go back to reference 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.
go back to reference 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.
go back to reference 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.
go back to reference 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.
go back to reference 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
go back to reference 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.
go back to reference 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.
go back to reference 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.
go back to reference 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
go back to reference 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.
go back to reference 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.
go back to reference 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.
go back to reference 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.
go back to reference 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
go back to reference 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
go back to reference 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.
go back to reference 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
go back to reference 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.
go back to reference 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
go back to reference Infusion hydrogen: Design flaw detection tool. 2012. Infusion hydrogen: Design flaw detection tool. 2012.
go back to reference 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.
go back to reference 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.
go back to reference 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
go back to reference 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.
go back to reference 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.
go back to reference 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.
go back to reference 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.
go back to reference 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.
go back to reference 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.
go back to reference 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.
go back to reference 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
go back to reference 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.
go back to reference 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
go back to reference 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
go back to reference 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
go back to reference 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.
go back to reference 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.
go back to reference 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
go back to reference 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
go back to reference 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.
go back to reference 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.
go back to reference 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).
go back to reference Ó 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.
go back to reference 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
go back to reference 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.
go back to reference 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.
go back to reference 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.
go back to reference 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.
go back to reference 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.
go back to reference 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.
go back to reference 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.
go back to reference 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.
go back to reference 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.
go back to reference 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.
go back to reference Riel, A. J. (1996). Object-oriented design heuristics. Reading, MA: Addison-Wesley. Riel, A. J. (1996). Object-oriented design heuristics. Reading, MA: Addison-Wesley.
go back to reference 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.
go back to reference 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.
go back to reference 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.
go back to reference 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.
go back to reference 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.
go back to reference 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.
go back to reference 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.
go back to reference 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
go back to reference 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.
go back to reference 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.
Metadata
Title
Prioritizing code-smells correction tasks using chemical reaction optimization
Authors
Ali Ouni
Marouane Kessentini
Slim Bechikh
Houari Sahraoui
Publication date
01-06-2015
Publisher
Springer US
Published in
Software Quality Journal / Issue 2/2015
Print ISSN: 0963-9314
Electronic ISSN: 1573-1367
DOI
https://doi.org/10.1007/s11219-014-9233-7

Other articles of this Issue 2/2015

Software Quality Journal 2/2015 Go to the issue

EditorialNotes

In this issue

Premium Partner