No description, website, or topics provided.
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.

#Utils module

This library gather all utilitary methods that are used by the different modules of the bugs and vulnerabilities project and that could be used in other context.


  • Git utilitary + diff
  • MultiThreading
  • Regexp
  • Serialization



This module provide some useful function when trying to mine a git repository


 val git = GitUtilitary("pathto .git folder")


data class DeveloperHistory(val totalNumberOfDeveloper: Int = 0, val currentNumberOfDeveloper: Int = 0, val numberOfChanges: Int = 0) : Serializable


  • retrievingFileFromSpecificCommit
  • listOfCommitImpactingAFile
  • previousCommitImpactingAFile
  • gitBlame
  • gitBlameNbDev
  • getDevHistoryOfAFile (use Developer History class)
  • getDeltaFile (Delta History)
  • getListOfModifiedFile
  • getCommitMessage
  • getTimeCommit


This side module provides methods for computing unified diff or delta of between 2 versions of a file


This object contains methods to launch a function on a list in a multithreaded way. So far, 3 distinct version exist:

  • one in case the function return a single element (onFunctionWithSingleOutput)

  • one in case the function return a list of result that we need to flatten (onFunctionWithListOutput)

  • one in case the function return a list of result that need to be gathered in a list of list. (onFunctionWithListListOutput)

      Multithreading.onFunctionWithListOutput(myList, { element -> function(element)},numberThread)

This multithreading function relies on the JAVA Executors and CompletionService


This object gather several methods based on regexp:

  • extract url from a string
  • recursive List Of Files Of A Directory with a given extension
  • bag of Words
  • removing C style comment
  • find out if one keyword is present in a string
  • map of frequency


This object contains method to load/save list or map of Serializable object

Normalizing Path Folder

This object contains a single method to normalize the path of a folder, i.e., adding the right separator at the end if missing

Ressource Extractor

This object contains two method one for downloading a resource from the internet, the other to unzip a file


This library is coded in Kotlin 1.0.3 and use Speck as a testing framework

Bug and feature request

Use the github issue page to report bugs or ask for new features


The tool is open source and release under apache 2 Licence.