4 research outputs found

    Toward Refactoring of DMARF and GIPSY Case Studies -- a Team 9 SOEN6471-S14 Project Report

    Full text link
    Software architecture consists of series of decisions taken to give a structural solution that meets all the technical and operational requirements. The paper involves code refactoring. Code refactoring is a process of changing the internal structure of the code without altering its external behavior. This paper focuses over open source systems experimental studies that are DMARF and GIPSY. We have gone through various research papers and analyzed their architectures. Refactoring improves understandability, maintainability, extensibility of the code. Code smells were identified through various tools such as JDeodorant, Logiscope, and CodePro. Reverse engineering of DMARF and GIPSY were done for understanding the system. Tool used for this was Object Aid UML. For better understanding use cases, domain model, design class diagram are built.Comment: 29 page

    Towards Refactoring of DMARF and GIPSY Case Studies -- a Team 8 SOEN6471-S14 Project Report

    Full text link
    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 plugins were also used to identify class designs and relationships between classes such as ObjectAid (Eclipse plugin).Comment: 53 page

    MARFCAT: Transitioning to Binary and Larger Data Sets of SATE IV

    Full text link
    We present a second iteration of a machine learning approach to static code analysis and fingerprinting for weaknesses related to security, software engineering, and others using the open-source MARF framework and the MARFCAT application based on it for the NIST's SATE IV static analysis tool exposition workshop's data sets that include additional test cases, including new large synthetic cases. To aid detection of weak or vulnerable code, including source or binary on different platforms the machine learning approach proved to be fast and accurate to for such tasks where other tools are either much slower or have much smaller recall of known vulnerabilities. We use signal and NLP processing techniques in our approach to accomplish the identification and classification tasks. MARFCAT's design from the beginning in 2010 made is independent of the language being analyzed, source code, bytecode, or binary. In this follow up work with explore some preliminary results in this area. We evaluated also additional algorithms that were used to process the data.Comment: A shorter version submitted for review to 13th IEEE International Working Conference on Source Code Analysis and Manipulation. 39 pages with figures, tables, TOC, and inde

    Toward Refactoring of DMARF and GIPSY Case Studies -- A Team XI SOEN6471-S14 Project Report

    Full text link
    This report focuses on improving the internal structure of the Distributed Modular Audio recognition Framework (DMARF) and the General Intensional Programming System (GIPSY) case studies without affecting their original behavior. At first, the general principles, and the working of DMARF and GIPSY are understood by mainly stressing on the architecture of the systems by looking at their frameworks and running them in the Eclipse environment. To improve the quality of the structure of the code, a furtherance of understanding of the architecture of the case studies and this is achieved by analyzing the design patterns present in the code. The improvement is done by the identification and removal of code smells in the code of the case studies. Code smells are identified by analyzing the source code by using Logiscope and JDeodorant. Some refactoring techniques are suggested, out of which the best suited ones are implemented to improve the code. Finally, Test cases are implemented to check if the behavior of the code has changed or not.Comment: 84 pages, 69 figures, 7 table
    corecore