Toward Refactoring of DMARF and GIPSY Case Studies a Team 7 SOEN6471-S14 Project Report
Abdulrhman Albeladi, Ahmed Almessabi, Aber Abozkhar, Huda, Mohamed, Jilson Thomas, Zakaria Alomari

TL;DR
This paper analyzes the architectures of open source Java platforms DMARF and GIPSY, reconstructs their models through reverse engineering, and applies refactoring to improve code readability and maintainability without altering functionality.
Contribution
It provides a detailed architectural analysis and refactoring approach for DMARF and GIPSY, emphasizing traceability and code quality improvements.
Findings
Reconstructed domain and class models for both systems
Identified and addressed code smells through refactoring
Enhanced code readability and maintainability
Abstract
Software architecture is defined as the process of a well-structured solution that meets all of the technical and operational requirements, as well as improving the quality attributes of the system such as readability, Reliability, maintainability, and performance. It involves a series of design decisions that can have a considerable impact on the systems quality attributes, and on the overall success of the application. In this work, we start with analysis and investigation of two open source software (OSS) platforms DMARF and GIPSY, predominantly implemented in Java. Many research papers have been studied in order to gain more insights and clear background about their architectures, enhancement, evolution, challenges, and features. Subsequently, we extract and find their needs, high-level requirements, and architectural structures which lead to important design decisions and thus…
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
TopicsSoftware Engineering Research · Software System Performance and Reliability · Advanced Software Engineering Methodologies
