Coder Social home page Coder Social logo

sme2019's Introduction

Software Maintenance and Evolution (Nov 2019-Feb2020)

Project: jEdit

Students

Stefan Evanghelides

Ruben Kip

Course Overview

For this project, we had to analyze the architecture and the code of a software. We picked jEdit. There are several tools used in the analysis: statsvn, Structure101 and SonarQube. The analysis concludes in a report describing different the components and their interactions and an analysis of the architecture, including architectural and code smells, cyclomatic complexity and quality indicators and metrics.

Repository overview

It contains a version of the jEdit application inside the jEdit folder. This can be build using Apache Ant. Note: version >= 1.9.8 is needed to build the project.

Also in jEdit folder are files needed to run Structure101. These files have *.hsp extension.

Because jEdit uses SVN for version control, statsvn was used to collect metrics on the repository. The resulting metrics can be found in statsvn\statsvn-jedit-result folder.

SonarQube was used to further analyze the software metrics. For this, we used a SonarQube extension which supports Ant. A jar file was included to analyze jEdit. A quick overview of the SonarQube results can be found in sonarqube-report folder.

Designite tool for Java (DesigniteJava) is another tool used to detect code and design smells. There is a JAR file attached to git which can be run as follows: java -jar DesigniteJava.jar -i <input-source-folder-path> -o <output-folder-path>

The output of DesigniteJava was stored in designitejava-result folder. These results were aggregated and stored in aggregated_results folder. Inside this folder, there are 2 .csv files containing the aggregated results and a Python script to load the designite results and aggregate them automatically. The Pyhon file was designed to show only the results of the 7 components (4 components are grouped into 1, so in total there are actually 4 main components), but it can be easily extended for other components as well.

sme2019's People

Contributors

rukip avatar stefanevanghelides avatar

Watchers

 avatar  avatar  avatar

Forkers

rukip

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.