Code Monkey home page Code Monkey logo

findbugs-violations's Introduction

Mining Fix Patterns for FindBugs Violations

Collection unfixed and fixed violations with project "violation-collection".

violation-collection/src/main/scala/edu./lu/uni/serval/alarm/tracking/UnfixedAlarmCollector.scala
violation-collection/src/main/scala/edu./lu/uni/serval/alarm/tracking/UnfixedAlarmCollectorByVType.scala
violation-collection/src/main/scala/edu./lu/uni/serval/alarm/tracking/FixedAlarmCollector.scala

Parsing the information of fixed and unfixed violations with GitTraverse and Parser.

Parser/src/main/java/edu/lu/uni/serval/main/Main.java

Mining patterns for violations and fixing violations with PatternMining.

PatternMining/src/main/java/edu/lu/uni/serval/mining/fix/pattern/PatternMiner.java
PatternMining/src/main/java/edu/lu/uni/serval/mining/pattern/fixedViolation/PatternMiner.java
PatternMining/src/main/java/edu/lu/uni/serval/mining/pattern/unfixedViolation/PatternMiner.java
PatternMining/src/main/java/edu/lu/uni/serval/mining/pattern/violation/PatternMiner.java

"Mined Fix Patterns" discloses all extracted fix patterns.

"GumTree" is not the same as the original GumTree since we made some changes to be suitable for our requirements.

Compilation

# install simple-utils
cd simple-utils
mvn install

# cd ../PatternMining
mvn install

findbugs-violations's People

Contributors

kui-liu avatar monperrus avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

findbugs-violations's Issues

from where and how to start?

Hi, Thanks for sharing your items.

I'm trying to use your tool with other static analysis tools.
Before using other tools, I wanna execute your tool under your environments and datasets.

I tried to "git clone {project-name}" all of the repositories in "repos.list" and I successfully got 684 projects in 730 projects you mentioned in the paper.
(46 projects are cannot find their repository from remote-server)

Then I guess the start points of your tools are "repo-iterator". So I tried to execute "archive.sh" first.

In "archive.sh" (AchiveCommand.java and GitCommands.scala), There are 3 arguments(gitDir, outputDir, hash) are needed.

image

I guess gitDir is the path of each project. But I cannot expect what is hash.
I briefly expect that hash means hash ID of project commits but I cannot be sure it is correct and If it is, then how many commit hashes will be used.

Could you please explain what is hash and the expected value of argument hash?

dataset?

hello !
I had cloned yours code.and set correct configure. I run the UnfixedAlarmCollector.scala. It seems to need the "fixed-summary-project-vtype.csv" dataset.could you help me.

image

Does your OSS has a license?

Thank you very much for your published project. I want to use your tool for evaluation, but I could not find any information about license for using your project. So, do you have any constraint for using or modifying project? If it is possible, a license file is more than welcome.

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.