ANALYZING REFACTORING TRENDS AND PRACTICES IN THE SOFTWARE INDUSTRY
Main Article Content
Abstract
Most of the developers in the software industry though have some instinctive capacity to refactor but the true expertise of this skill is rarely found in real time software development. Thus it is significant to discern the reasons as to how prevalent are the refactoring practices in reality and what are the major factors impacting its role and adoption in software development. This paper tries to explore the actual implementation of refactoring practices in software industry by taking inputs from the software professionals working in different projects and companies. This exploration is basically required to assess the gap between research practices and Industrial norms. An important fact that to this work is also that we try to probe the consequences in absence of refactoring, What are the code rejuvenation practices adopted by the professionals in absence of refactoring or due to non familiarity or lack of expertise in the area.
Â
Downloads
Article Details
COPYRIGHT
Submission of a manuscript implies: that the work described has not been published before, that it is not under consideration for publication elsewhere; that if and when the manuscript is accepted for publication, the authors agree to automatic transfer of the copyright to the publisher.
Authors who publish with this journal agree to the following terms:
- Authors retain copyright and grant the journal right of first publication with the work simultaneously licensed under a Creative Commons Attribution License that allows others to share the work with an acknowledgment of the work's authorship and initial publication in this journal.
- Authors are able to enter into separate, additional contractual arrangements for the non-exclusive distribution of the journal's published version of the work (e.g., post it to an institutional repository or publish it in a book), with an acknowledgment of its initial publication in this journal.
- Authors are permitted and encouraged to post their work online (e.g., in institutional repositories or on their website) prior to and during the submission process, as it can lead to productive exchanges, as well as earlier and greater citation of published work
- The journal allows the author(s) to retain publishing rights without restrictions.
- The journal allows the author(s) to hold the copyright without restrictions.
References
Chen, J., Xiao, J., Wang, Q., Leon J. Osterweil., Mingshu L. Empirical Software Eng (2016) 21: 1397. 8 Refactoring planning and practice in agile software development: An empirical study (PDF Download Available).
Roberto Verdecchia, Rene Aparicio Saez , Giuseppe Procaccianti , Patricia Lago (2018) Empirical Evaluation of the Energy Impact of Refactoring Code Smells
3. Szőke G., Nagy C., Ferenc R., Gyimóthy T. (2014) A Case Study of Refactoring Large-Scale Industrial Systems to Efficiently Improve Source Code Quality. In: Murgante B. et al. (eds) Computational Science and Its Applications – ICCSA 2014. ICCSA 2014. Lecture Notes in Computer Science, vol 8583. Springer, Cham.
4. Khanam, Zeba and Ahsan, Najeeb Mohd. (2017) Evaluating the Effectiveness of Test Driven Development: Advantages and Pitfalls. In International Journal of Applied Engineering Research ISSN 0973-4562 Volume 12, Number 18 (2017) pp. 7705-7716
5. Kim et al. (2014) An Empirical Study of Refactoring Challenges and Benefits at Microsoft. : IEEE TRANSACTIONS On Software Engineering.
6. 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
7. Gabor Szoke, Gabor Antal, Csaba Nagy, Rudolf Ferenc, Tibor Gyimóthy, Empirical study on refactoring large-scale industrial systems and its effects on maintainability, Journal of Systems and Software, Volume 129,
, Pages 107-126, ISSN 0164-1212,
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: Meyer B., Nawrocki J.R., Walter B. (eds) Balancing Agility and Formalism in Software Engineering. CEE-SET 2007. Lecture Notes in Computer Science, vol 5082. Springer, Berlin, Heidelberg
Michael W ; Uwe D ; Will S. (2016). Improving Code Maintainability: A Case Study on the Impact of Refactoring. 2016 IEEE International Conference on Software Maintenance and Evolution (ICSME)
10. Rizvi, S., Khanam, Z. (2011) A methodology for refactoring legacy code. In International Conference on Electronics and Computer Technology (ICECT 2011), pp. 198–200 (2011), IEEE Xplore.
Emerson Murphy-Hill., Andrew. (2008) Black Breaking the barriers to successful refactoring. 2008 ACM/IEEE 30th International Conference on Software Engineering
Leppänen, Marko; Mäkinen, Simo; Lahtinen, Samuel; Sievi-Korte, Outi; Tuovinen, Antti-Pekka; Männisto, Tomi, "Refactoring-a Shot in the Dark?," in Software, IEEE, vol.32, no.6, pp.62-70, Nov.-Dec. 2015.
G. Bavota, B. De Carluccio, A. De Lucia, M. Di Penta, R. Oliveto, and O. Strollo, “When does a refactoring induce bugs? an empirical study,†in Source Code Analysis and Manipulation (SCAM), 2012 IEEE 12th International Working Conference on, September 2012, pp. 104–113.
Khanam, Zeba. (2018). Barriers to Refactoring: Issues and Solutions. 2454-4248. 4. 232.
Vidal, Santiago & Marcos, Claudia & Diaz-Pace, Andres. (2014). An approach to prioritize code smells for refactoring. Automated Software Engineering. 10.1007/s10515-014-0175-x.
Marinescu R (2012) Assessing technical debt by identifying design flaws in software systems.
IBM Journal of Research and Development 56(5):9
Mkaouer W, Kessentini M, Bechikh S, Cinnéide MÓ, Deb K (2014) Software refactoring under uncertainty: a robust multi-objective approach. In: Genet. Evol. Comput. Conf. GECCO 2014.
Khanam, Z. and Rizvi, S. “Refactoring Catalog for Legacy software using C and Aspect Oriented Languageâ€- the proceedings of SERP 2011, USA.
Z Khanam, SAM Rizvi. “Aspectual Analysis of Legacy Systems: Code Smells and Transformations in Câ€, International Journal of Modern Education and Computer Science, Volume 5, Issue 11, Page 57, 2013.
Chatzigeorgiou, A. and Manakos, A. 2013. Investigating the evolution of code smells in object-oriented systems, Innovations in Systems and Software Engineering. NASA Journal. DOI= 10.1007/s11334-013-0205-z
F. A. Fontana, M. Mangiacavalli, D. Pochiero, and M. Zanoni, “On experimenting refactoring tools to remove code smells,†in Scientific Workshop Proceedings of the XP2015. ACM, 25 May 2015, p. 7
Moghadam, I. H. and Ó Cinnéide, M. 2012. Automated Refactoring using Design Differencing, In Proceedings of European Conference on Software Maintenance and Reengineering (ECSM’12).
Rizvi S A M. and Z Khanam. (2010) A Comparative Study of using Object oriented approach and Aspect oriented approach for the Evolution of Legacy System . 2010 International Journal of Computer Applications (0975 – 8887) Volume 1 – No. 7
Harman, M., Mansouri, A. and Zhang, Y. 2012. Search-based software engineering: Trends, techniques and applications. ACM Comput. Surv. 45, 1, Article 11 (December 2012), 61 pages. DOI=10.1145/2379776.2379787.
G. Procaccianti, H. Fernandez, and P. Lago, “Empirical Evaluation of Two Best-Practices for Energy-Efficient Software Development,†J. Syst. Softw., vol. 117, no. July 2016, pp. 185–198, 2016
R. Verdecchia, F. Ricchiuti, A. Hankel, P. Lago, and G. Procaccianti, “Green ICT research and challenges,†in Advances and New Trends in Environmental Informatics. Springer, 2017, pp. 37–48
J. Koomey, “Growth in data center electricity use 2005 to 2010,†A report by Analytical Press, completed at the request of The New York Times, p. 9, 2011.