4 research outputs found
Toward Refactoring of DMARF and GIPSY Case Studies -- a Team 9 SOEN6471-S14 Project Report
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
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
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
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