Towards Refactoring of DMARF and GIPSY Case Studies -- a Team 8 SOEN6471-S14 Project Report
Nitish Agrawal, Rachit Naidu, Sadhana Viswanathan, Vikram Wankhede,, Zakaria Nasereldine, Zohaib S. Kiyani

TL;DR
This paper analyzes the architecture of GIPSY and DMARF systems, identifies design weaknesses and code smells, and proposes refactorings to improve their design quality and maintainability.
Contribution
It provides a detailed case study of refactoring efforts on two complex systems, including identification of weak classes and implementation of improvements.
Findings
Identification of classes with weak architecture and code smells
Refactorings improved system design and maintainability
Use of multiple tools for analysis and refactoring
Abstract
Of the factors that determines the quality of a software system is its design and architecture. Having a good and clear design and architecture allows the system to evolve (plan and add new features), be easier to comprehend, easier to develop, easier to maintain; and in conclusion increase the life time of the, and being more competitive in its market. In the following paper we study the architecture of two different systems: GIPSY and DMARF. This paper provides a general overview of these two systems. What are these two systems, purpose, architecture, and their design patterns? Classes with week architecture and design, and code smells were also identified and some refactorings were suggested and implemented. Several tools were used throughout the paper for several purpose. LOGICSCOPE, JDeodoant, McCabe were used to identify classes with weak designs and code smells. Other tools and…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsAdvanced Software Engineering Methodologies · Parallel Computing and Optimization Techniques · Embedded Systems Design Techniques
