Reengineering framework for open source software using decision tree approach

A Software engineering is an approach to software development. Once software gets developed and delivered, it needs maintenance. Changes in software incur due to new requirements of the end-user, identification of bug in software or failure to achieve system objective. It has been observed that successive maintenance in the developed software reduces software quality and degrades the performance of software system. Reengineering is an approach of retaining the software quality and improving maintainability of the software system. But the question arises “when to reengineer the software”. The paper proposed a framework for software reengineering process using decision tree approach which helps decision makers to decide whether to maintain or reengineer the software systems.

[1]  Lu Chen,et al.  A Dual-Spiral Reengineering Model for Legacy System , 2005, TENCON 2005 - 2005 IEEE Region 10 Conference.

[2]  Di Wu,et al.  Parallel iterative reengineering model of legacy systems , 2009, 2009 IEEE International Conference on Systems, Man and Cybernetics.

[3]  Ratih Kumalasari Niswatin,et al.  Prediction Of College Student Achievement Based on Educational Background Using Decision Tree Methods , 2016 .

[4]  E. Suresh Babu,et al.  Analysis of Legacy System in Software Application Development: A Comparative Survey , 2016 .

[5]  E. J. Byrne A conceptual foundation for software re-engineering , 1992, Proceedings Conference on Software Maintenance 1992.

[6]  Shahida Sulaiman,et al.  Expert-based decision support framework for software reengineering , 2011, 2011 Malaysian Conference in Software Engineering.

[7]  Harry M. Sneed,et al.  20 Years of Software-Reengineering: A Résumé , 2008, Workshop Software Reengineering.

[8]  Diomidis Spinellis,et al.  Tool Writing: A Forgotten Art? , 2005, IEEE Softw..

[9]  Chris F. Kemerer,et al.  A Metrics Suite for Object Oriented Design , 2015, IEEE Trans. Software Eng..

[10]  Jaiteg Singh,et al.  Identification of requirements of software reengineering for JAVA projects , 2017, 2017 International Conference on Computing, Communication and Automation (ICCCA).

[11]  David Notkin,et al.  Reengineering Reflexion Models: A Case Study , 1997 .

[12]  Rick Kazman,et al.  A semantic foundation for architectural reengineering and interchange , 1999, Proceedings IEEE International Conference on Software Maintenance - 1999 (ICSM'99). 'Software Maintenance for Business Change' (Cat. No.99CB36360).

[13]  Bruce McMillin,et al.  Software engineering: What is it? , 2018, 2018 IEEE Aerospace Conference.

[14]  Maurice H. Halstead,et al.  Elements of software science , 1977 .

[15]  Victor R. Basili,et al.  Software errors and complexity: an empirical investigation , 1993 .

[16]  M.M. Lehman,et al.  Programs, life cycles, and laws of software evolution , 1980, Proceedings of the IEEE.

[17]  Ajay Rana,et al.  Key Software Metrics and its Impact on each other for Software Development Projects , 2016, ACM SIGSOFT Softw. Eng. Notes.

[18]  Anas N. Al-Rabadi,et al.  A comparison of modified reconstructability analysis and Ashenhurst‐Curtis decomposition of Boolean functions , 2004 .

[19]  Matthew A North,et al.  Data Mining for the Masses , 2012 .

[20]  Rick Kazman,et al.  Requirements for integrating software architecture and reengineering models: CORUM II , 1998, Proceedings Fifth Working Conference on Reverse Engineering (Cat. No.98TB100261).

[21]  Sallie M. Henry,et al.  Maintenance metrics for the object oriented paradigm , 1993, [1993] Proceedings First International Software Metrics Symposium.

[22]  Sam Chung,et al.  Service-Oriented Software Reengineering: SoSR , 2007, 2007 40th Annual Hawaii International Conference on System Sciences (HICSS'07).