GithubHelp home page GithubHelp logo

mariazevedo88 / o3smeasures-tool Goto Github PK

View Code? Open in Web Editor NEW
11.0 2.0 1.0 88.92 MB

Eclipse plug-in to evaluate software internal quality of Java projects.

Home Page: https://mariazevedo88.github.io/o3smeasures/

License: GNU General Public License v3.0

Java 100.00%
eclipse-application java plugin metrics java-metrics application-metrics eclipse eclipse-ide jdt java-application-metrics

o3smeasures-tool's Introduction


Build Status Java CI GitHub tag (latest SemVer) Eclipse Marketplace GitHub All Releases Eclipse Marketplace GitHub Eclipse Marketplace

GitHub repo size GitHub code size in bytes GitHub language count GitHub top language GitHub last commit GitHub issues GitHub pull requests

o3smeasures

Plug-in for Eclipse to measure software internal quality. It was developed as part of my dissertation entitled "A Quantitative Study to Characterize the Internal Quality of Open-Source Object-Oriented Software Systems".

About o3smeasures

This is a plug-in for Eclipse to measure software internal quality in Java projects. In the plug-in development, we used the Eclipse IDE (Oxygen), the Java Development Tools (JDT), the Plug-in Development Environment (PDE), and Abstract Syntax Tree (AST). In JDT, there are tools for manipulating Java code. In PDE, there are tools to develop and test plug-ins in the Eclipse IDE.

Dependencies

  • Java 8 or higher
  • Eclipse IDE Oxygen or higher
  • jUnit 5 (org.junit.jupiter.api, org.junit.jupiter.engine and org.junit.jupiter.params - 5.0.0)
  • org.eclipse.ui (3.109.0 or higher)
  • org.eclipse.core.resources (3.12.0 or higher)
  • org.eclipse.jdt.core (3.13.102 or higher)
  • org.eclipse.core.runtime (3.13.0 or higher)
  • org.eclipse.jface.text (3.12.2 or higher)

How to use as an Eclipse Application

o3smeasures can be used as an Eclipse Application, importing the project into your workspace. After import the o3smeasures project, with the right mouse button you need select the option Run as -> Eclipse Application. In the runtime eclipse application, select a Java project to be measured and with the right mouse button, go to O3SMeasures -> Analyze Java project.

Executing tests

After import the o3smeasures project, with the right mouse button you need select the option Run as -> JUnit Plug-in Test.

How to install

On dropins directory

o3smeasures plug-in is installed in the Eclipse directory. You need to paste the .jar on the dropins directory (eclipse -> dropins). After installed the o3smeasures project into your workspace, select a Java project to be measured and with the right mouse button, go to O3SMeasures -> Analyze Java project.

Install new Software interface

Run Eclipse, go to Help menu -> Install New Software... On the opening dialog add a new Remote site named o3smeasures with the following url https://raw.githubusercontent.com/mariazevedo88/o3smeasures-plugin/master/site.xml and follow the instructions.

On Eclipse Marketplace

Run Eclipse, go to Help menu -> Eclipse Marketplace... On the opening dialog, search for o3smeasures. Finding the plugin, click on the Install button and follow the instructions.

Displaying the views

The o3smeasures views can be enabled by the eclipse menu Window -> Show View -> Other ... -> o3smeasures.


Exporting files

To export the measurement results in the O3SMeasures Diagnostic view, with the right mouse button in the view, select the option Export to CSV file to export in the .csv format or Export to XML file to export in the .xml format.


Uploading files

In version 2.1.0 or above, it is possible to upload measurement diagnostic reports to an s3 bucket on Amazon (AWS). With the right mouse button in the view, select the option Upload to AWS S3 Bucket to export in the .csv or .xml format.


The formating options and the bucket configurations has to be defined on the Preferences Page, that can be access by the eclipse menu Window -> Preferences -> o3smeasures Preferences.


Contributing

o3smeasures-tool's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Forkers

kjuli

o3smeasures-tool's Issues

Files backup option in an AWS S3 bucket

In addition to the options to export the measurement file (.csv or .xml) to the local device, create an option to export them to an AWS (Amazon Cloud) S3 bucket.

[discussion] Possibility of headless (no-GUI) execution.

It is great the ability to measure and have all the metrics directly in Eclipse IDE. Anyway, it would be great if you can have the results without the graphic interface, so you can use this measures as part of, for example, a Continuous Integration (CI) pipeline or execute it for a group of projects in an unattended way.

No menu item to run analyzer

I've installed Eclipse 2020-09 and used the Marketplace client to install O3SMeasures. I opened a workspace that has some projects from various Git repos. I opened the 5 views in Window > Show Views > Other... > o3smeasures. When I right click a Java based project, there is no "O3SMeasures -> Analyze Java project" on the context menu. How do I analyze my code? There's nothing that shows up in the workspace's .log file that relevant; only some key binding stuff.

!SESSION 2020-12-01 11:38:49.326 -----------------------------------------------
eclipse.buildId=4.17.0.I20200902-1800
java.version=11.0.8
java.vendor=Red Hat, Inc.
BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=en_US
Framework arguments: -product org.eclipse.epp.package.jee.product
Command-line arguments: -os win32 -ws win32 -arch x86_64 -product org.eclipse.epp.package.jee.product

WeightMethodsPerClass calculation

The WeightMethodsPerClass calculation is not considering MethodInvocation, Finally blocks and Java 8 expressions, such as Lambda and Method Reference.

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.