An empirical approach for software reengineering process with relation to quality assurance mechanism

Muhammad MUZAMMUL, Muhammad AWAIS

Abstract


Software development advances focus on productivity of existing software systems and quality is the basic demand of every engineering product. In this paper, we will discuss the complete re-engineering process with aspects of forwarding, reverse and quality assurance mechanism. As we know the software development lifecycle (SDLC) follows a complete mechanism of the engineering process. In forward engineering, we tried to follow selective main phases of software engineering(data,requirements, design, development, implementation).In reverse engineering, we move backward from the last phase of developing the product as it gathers requirements from the implemented product(implementation, coding, design, requirements, data). During reengineering, we add up more quality features on customer demands, but the actual demand is to fulfill quality needs that can be assured by external as well as internal quality attributes such as reliability, efficiency, flexibility, reusability, and robustness in any software system. We discussed a methodological approach to move from re-engineering to the journey of quality assurance. More than 50 studies come into discussion and throughput results proposed by graph and tabular form. We can say if the re-engineering process produces quality attributes, then it can be said by old software system refactoring as code refactoring, data refactoring and architectural refactoring we obtained a quality product at a lower cost instead of new software system development, which causes a decrease in quality attributes as cost, time etc. In future work, testing methodology can be proposed for quality assurance.


Keywords


Software; reengineering; refactoring; restructuring;forward engineering; reverse engineering;quality assurance ; internal quality; external quality;flexibility;re-usability;reliability;robustness

Full Text:

PDF

References


Olexandr Kharchenko; “Optimization of software architecture selection for the system under design and reengineering”; 14th International Conference on Advanced Trends in Radio electronics, Telecommunications and Computer Engineering (TCSET); IEEE; 2018; Pages: 1245-1248

Bernhard Dorninger; “Reengineering an industrial HMI: Approach, objectives, and challenges”; IEEE 25th International Conference on Software Analysis, Evolution and Reengineering (SANER); 2018; Pages 547-551

Jaswinder Singh; “Identification of requirements of software reengineering for JAVA projects”; International Conference on Computing, Communication and Automation (ICCCA); 2017; page 931-934; IEEE Conferences

Ana Maria da Mota Moura; “Awareness Driven Software Reengineering”; IEEE 25th International Requirements Engineering Conference (RE); 2017; Pages 550-555; IEEE Conferences

Grace Park; “A modeling framework for business process reengineering using big data analytics and a goal-orientation” 2017 11th International Conference on Research Challenges in Information Science (RCIS); Pages: 21-32 ; IEEE Conferences

James. J. Mulcahy; “Reengineering autonomic components in legacy software systems: A case study”; 2017 Annual IEEE International Systems Conference (SysCon); Pages: 1-7; IEEE Conferences

VivekBhatnag,” Study of Software Development Using Software Re-Engineering”, International Journ al of Engineering Trends and Applica t ions (I J ETA)-Volume 3 Issue 2, Mar-Apr 2016

Nilesh Jadav; “How To Reverse Engineer Using Advanced Apk Tool”; March08 2017

Arcelli, F.; Tosi, C.; Zanoni, M.; Maggioni, S.: “The MARPLE project: A tool for design pattern detection and software architecture reconstruction.” In: 1st International Workshop on Academic Software Development Tools and Techniques (WASDeTT-1) (2008) Google Scholar

GhulamRasool, Zeeshan Arshad,” A Lightweight Approach for Detection of Code Smells” Arabian Journal for Science and Engineering, February 2017, Volume 42, Issue 2, pp. 483-506|

A. CathreenGraciamary , Dr. M.Chidambaram , “EESRM: An Effective Approach to Improve the Performance of Software Re-Engineering” ISSN 0973-4562 Volume 13, Number 6 (2018) pp. 3648-3654

K.R. Wallace,” Safe and secure: re-engineering a software process set for the challenges of the 21st century” 9th IET International Conference on System Safety and Cyber Security (2014), 2014 page 5.2.2

P. Hunter.” Re-engineering data storage” Volume 8, Issue 12, December 2013, p. 58-62

J. Clarke , J.J. Dolado , M. Harman , R. Hierons “Reformulating software engineering as a search problem”, Online ISSN 1463-9831, Volume 150, Issue 3, June 2003, p. 161-175

A. Egyed, N. Medvidovic.” Component-based perspective on software mismatches detection and resolution” Volume 147, Issue 6, December 2000, p. 225-236

K. Rafique, Chunhui Yuan,” Re-engineering spectrum management policy framework: Meeting challenges of future”,4th IET International Conference on Wireless, Mobile & Multimedia Networks (ICWMMN 2011), 2011 p.35-39

Jason Cong, Peng Wei, CodyHao Yu” Bandwidth Optimization through On-Chip Memory Restructuring for HLS” Austin, TX, USA – June 18-22, 2017

Fernando Szimanski,Anivaldo S. Vale,” Restructuring Information Technology Area: an experience report in the public service”, A Computer Socio-Technical Perspective-Volume 1, Pages 63, Goiania, Goias, Brazil – May 26-29, 2015, Tokyo, Japan – March 07-11, 2018

KashyapTodi, Jussi Jokinen;”Familiarization: Restructuring Layouts with Visual Learning Models”, 23rd International Conference on Intelligent User Interfaces, Pages 547-558,

Amit Rathee,” Restructuring of Object-Oriented Software Through Cohesion Improvement Using Frequent Usage Patterns” Software Engineering Notes, Volume 42 Issue 3, July 2017 Pages 1-8,

Nathan ManeraMagalhães,” An Automated Refactoring Approach to Remove Unnecessary Complexity in Source Code”, Systematic and Automated Software Testing, Article No. 3,Fortaleza, Brazil – September 18-19, 2017

Software quality assurance; Visited website 25 June, 2018; https://www.testinstitute.org/What_is_Software_Quality_Assurance.php; International software testing institute;

External vs internal quality; Visited website 25 June, 2018; https://meekrosoft.wordpress.com/2010/10/31/internal-and-external-software-quality/

Emile Swarts; “Internal vs External Quality of Software”; written on 29th September, 2015 tagged in Ruby on Rails, Software Architecture

Jehad Al Dallal; Anas Abdin. “Empirical Evaluation of the Impact of Object-Oriented Code Refactoring on Quality Attributes: A Systematic Literature Review”.IEEE Transactions on Software Engineering (2018), Volume: 44, Issue: 1pages: 44-69

John Jagtiani; Christian Bach; Chris Huntley. “Leveraging Big Data From Open Source to Improve Software Project Management”. IEEE Engineering Management Review (2018), Volume: 46, Issue: 1Pages: 65-79

Robert Chatley; Lawrence Jones. “Diggit: Automated code review via software repository mining”.IEEE 25th International Conference on Software Analysis, Evolution and Reengineering (2018): pp. 567-571

Luigi Franzio; Bin Lin; Michele Lanza; Gabriele Bavota; “RETICULA: Real-time code quality assessment”. IEEE 25th International Conference on Software Analysis, Evolution and Reengineering (2018): 542-546

VivekBhatnag,” Study of Software Development Using Software Re-Engineering”, International Journ al of Engineering Trends and Applica t ions (I J ETA)-Volume 3 Issue 2, Mar-Apr 2016

Martin Kropp, University of Applied Sciences Northwestern Switzerland,” MSE-SEA-Restructuring.pptx”. Available at: https://wiki.hsr.ch/MasterModulSEA/files/MSE-SEA-Restructuring.pdf (Accessed: 10 April 2018).

JyothiVedurada,” Refactoring opportunities for replacing type code with state and subclass”, ICSE-C ‘17, Pages 305-307, Buenos Aires, Argentina – May 20-28, 2017

Parminder Singh, “Software reverse engineering”,Student at Punjabi University, https://www.slideshare.net/parrychahal50/software-reverse-engineering-69635162, Published on Nov 29, 2016,

Gyungtae Kim; Ming Ma; Inhag Park, “A fast and flexible software for IC reverse engineering”, International Conference on Electronics, Information, and Communication (ICEIC), 2018, Pages: 1-4,IEEE Conferences

Bhaskarjyoti Das; “An empirical approach for optimizing globally distributed software product engineering”;2017 International Conference on Advances in Computing, Communications and Informatics (ICACCI);Pages: 1340-1348

Software Quality assurance visited 15 April 2018, https://www.techopedia.com/definition/4363/software-quality-assurance-sqa

FoutseKhomh; Yann-GaëlGuéhéneuc. “Design patterns impact on software quality: Where are the theories?”. IEEE 25th International Conference on Software Analysis, Evolution and Reengineering (2018): 15-25

ElmarJuergens. “A decade of software quality analysis in practice: Surprises, anecdotes, and lessons learned (keynote)”.IEEE 25th International Conference on Software Analysis, Evolution and Reengineering (2018): 1-1

Muhammad Azeem Akbar; Jun Sang. “Improving the Quality of Software Development Process by Introducing a New Methodology–AZ-Model”. IEEE Journals & Magazines (2018): 6, 4811-4823

Muhammad Noman Riaz. “Impact of software design patterns on the quality of software: A comparative study”. International Conference on Computing, Mathematics and Engineering Technologies (2018):1-6

HiekeKeuning,” Code Quality Issues in Student Programs”, ITiCSE ‘17, Pages 110-115, Bologna, Italy – July 03-05, 2017

Charilaos Petrou,” Signal Processing Techniques Restructure the Big Data Era” Article No. 52, Patras, Greece – November 10-12, 2016

JyothiVedurada,” Refactoring opportunities for replacing type code with state and subclass”, ICSE-C ‘17, Pages 305-307, Buenos Aires, Argentina – May 20-28, 2017

Ana Rodriguez,” Reducing energy consumption of resource-intensive scientific mobile applications via code refactoring”, ICSE-C ‘17, Pages 475-476, Buenos Aires, Argentina – May 20-28, 2017

Didier Remy,Inria, France,” More automated code refactorization and code reuse (invited talk)”, Haskell 2017, Pages 1-1, Oxford, UK – September 07-08, 2017

Byrne, E.J., A Conceptual Foundation for Software Re-engineering, in Conference on Software Maintenance 1992

Sivaram; “The Myth of Software Reengineering”; Posted On December 24, 2013 by GB Shah filed under Programming

Jae Jin Park; “Investigation for Software Power Consumption of Code Refactoring Techniques”; Published 2014 in SEKE; Page 717-718

Manzoor Ahmad Rather; “Study of Software Development Using Software Re-Engineering”; March 2016; page 53-54

http://www.bmtechsolutions.com/software-quality-assurance/; visited 3 july 2018

Serena Josh; “Top 10 Challenges as a QA Analyst Tester in Software or Web Development”; http://www.zarantech.com/blog/top-10-challenges-qa-analyst-tester-software-web-development/

R. Dewar ; A. D. Lloyd ; “Identifying and communicating expertise in systems reengineering: a patterns approach”; June 1999, p. 145-152

J.Clarke; “Reformulating software engineering as a search problem”; June 2003, p. 161-175

H. Jaakkola; “Framework for high-quality software design and development: a systematic approach” ; April 2010, p. 105-118

Rajesh H. Kulkarni; “Integration of artificial intelligence activities in software development processes and measuring effectiveness of integration”; February 2017, p. 18-26

Rosa E. Quelal; “A survey of agile software development methodologies in Ecuador”; 13-16 June 2018; IEEE

Michael Kirch

hoff; “Increasing Efficiency in Data Flow Oriented Model Driven Software Development for Softcore Processors”; p. 23-27 July 2018; IEEE

Asim Iftikhar; “A survey of soft computing applications in global software development”; 11-12 May 2018; IEEE

M. Fowler, K. Beck, J. Brant, W. Opdyke, Refactoring: Improving the Design of Existing Code, Addison-Wesley, 1999.

W.F. Opdyke, Refactoring Object-Oriented Frameworks, University of Illinois at Urbana-Champaign, 1992.

W.C. Wake, Refactoring Workbook, Addison-Wesley Professional, 2004.

T. Mens, T. Tourwé, A survey of software refactoring, IEEE Trans. Softw. Eng. 30 (2004) 126-139.*

P.P. Stepan Cais, Identifying software metrics thresholds for safety critical system, The Third International Conference on Informatics Engineering and Information Science (ICIEIS2014), The Society of Digital Information and Wireless Communications, 2014, pp. 67-78.

D. Bhalla, Automatic Detection of Bad Smells in Java Code, California State University, Long Beach, 2009.

T. Arendt, F. Mantz, G. Taentzer, EMF refactor: specification and application of model refactorings within the Eclipse Modeling Framework, Proceedings of the BENEVOL Workshop, 2010.

R. Fourati, N. Bouassida, H.B. Abdallah, A metric-based approach for anti-pattern detection in uml designs, Computer and Information Science 2011, Springer, 2011, pp. 17-33.

N. Moha, Y.-G. Gueheneuc, L. Duchien, A.-F. Le Meur, DECOR: a method for the specification and detection of code and design smells, IEEE Trans. Softw. Eng. 36 (2010) 20-36.

A. Ghannem, M. Kessentini, G. El Boussaidi, Detecting model refactoring opportunities using heuristic search, Proceedings of the 2011 Conference of the Center for Advanced Studies on Collaborative Research, IBM Corp., 2011, pp. 175-187.

P. Van Gorp, H. Stenten, T. Mens, S. Demeyer, Formal UML Support for the SemiAutomatic Application of Object-Oriented Refactorings, University of Antwerp, Citeseer, 2003.

T. Ruhroth, H. Voigt, H. Wehrheim, Measure, diagnose, refactor: a formal quality cycle forsoftware models, 35th Euromicro Conference on SoftwareEngineering and Advanced Applications, 2009. SEAA’09, IEEE, 2009, pp. 360-367.

M. Saeki, H. Kaiya, Model metrics and metrics of model transformations, The First Workshop on Quality in Modeling, 2006, pp. 31-45.

M. Mohamed, M. Romdhani, K. Ghedira, M-REFACTOR: a new approach and tool for model refactoring, ARPN J. Syst. Softw. 1 (4) (2011) 117-122.

M. Van Kempen, M. Chaudron, D. Kourie, A. Boake, Towards proving preservation

Eclipse, EclipseHomepage. Available: https://www.eclipse.org/, 2016 (accessed 23 February 2016).

Checkstyle.https://checkstyle.sourceforge.net/, 2016(accessed 23February2016).

Décor. https://www.ptidej.net/download, 2016 (accessed 23 February 2016).

iPlasma. https://loose.upt.ro/reengineering/research/iplasma, 2016 (accessed 23 February 2016).

JDeodorant. https://github.com/tsantalis/JDeodorant, 2016 (accessed 23 February 2016).

PMD. https://pmd.sourceforge.net/, 2016 (accessed 23 February 2016).

Stench Blossom. https://github.com/DeveloperLiberationFront/refactoring-tools/ wiki/Stench-Blossom, 2016 (accessed 23 February 2016).

G. Soares, R. Gheyi, T. Massoni, Automated behavioral testing of refactoring engines, IEEE Trans. Softw. Eng. 39 (2013) 147-162.

Visited on 3 july2018 http://jobsandnewstoday.blogspot.com/2013/04/what-is-quality-assurance-quality-control-testing.html.




DOI: http://dx.doi.org/10.14201/ADCAIJ2018733146





Creative Commons License
This work is licensed under a Creative Commons Attribution 3.0 License.

Clarivate Analytics