Skip to content
Brian Tsau edited this page Jun 11, 2019 · 1 revision

Driver (package edu.columbia.cs.psl.ioclones.driver)

CleanDriver

A script for the execution of HitoshiIO (just from the jar, without any functionality) on all classes within a codebase, approaching each one from the main method. Ignores classes without main methods. Not invoked in current standard version of HitoshiIO. Intended as an extension by Mike, but remains as work in progress with no update since 2016.

CrowdDriver

A script for the execution of HitoshiIO's IODriver on all classes within a codebase, approaching each one from the main method. Ignores classes without main methods. Not invoked in current standard version of HitoshiIO. Intended as an extension by Mike, but remains as work in progress with no update since 2016.

GroundTruthCollector

A script for the testing of ground truth on HitoshiIO, which requires a ground truth file with unspecified file format. Intended as an extension by Mike, but remains as work in progress with no update since 2016.

IODriver

A script for the capture of I/Os upon execution of a single target class that has already been instrumented by HitoshiIO's Main, invoking a GlobalInfoRecorder to keep track of I/O captures.

SimAnalysisDriver

Takes in a comparison mode (e.g. comprehensive, few-to-all, comparison), starts and handles asynchronous workers using Similarity to compute similarity score for each (method I/O)-(method I/O) pair, and store all values that pass a similarity threshold in a database.

Documentation belonging to the development of HitoshiIO can be found here. However, some files are still poorly documented, and some are not used at all in the current version of the system and exist for further development/research.

Below is the organization of HitoshiIO's source code:

  1. Root
  2. Analysis
  3. Config
  4. Driver
  5. Instrument
  6. Pojo
  7. Premain
  8. Similarity
  9. Utilities
  10. Xml Converter
Clone this wiki locally