Skip to content

Online Appendixes and Data Package for the Paper: Distinguishing Similar Design Patterns Instances through Temporal Behavior Analysis

License

Notifications You must be signed in to change notification settings

Megre/Dataset4SparT-ETA

Repository files navigation

Online Appendixes and Data Package for: Distinguishing Similar Design Patterns Instances through Temporal Behavior Analysis

2. Target Systems (Source Code, Bytecode, and Libraries)

  • source code, bytecode, and available libraries of the six target systems
  • .java files: automatically generated test cases
  • .log files: trace logs generated by the Trace Agent, each of which corresponds to the test case with the same name
  • Static Facts: .owl files that contain the ontologies generated by the Ontology Generator with respect to each of the six target systems
  • Temporal Facts: .owl files that contain the ontologies transformed from the trace logs, which accord with the behavior specification

5. Trace Agent (with a Double-click-to-run Example)

  • example: java code and bytecode that correspond to the paper
  • x64: the Trace Agent (TraceAgent.dll) that is deployed as a Dynamic Link Library (.dll) (currently for Windows x64 platform)
  • trace.log: the full version of the trace log presented in the paper
  • tracing-test.bat: a usage example of the Tracing Agent, which generates "trace.log" by a double-click in Windows x64 platform

(The source code of the TraceAgent is available here.)

Viewing Files

File Extensions

  • .owl files. The .owl files are text files saved as RDF/XML syntax. They can be opened with Protégé, RDF viewer, or your favorite text viewer.

     Note: Please stop the reasoner when opening ".owl" files using Protégé, since it may slow down your computer.
    
  • .java files. The .java files can be opened with your favorite text viewer.

  • .log files. The .log files are plain text files, thus can be opened with your favorite text viewer.

  • .bat files. The .bat files are batch files running on the Windows platform. They can be executed by a double-click or through the command line. They are created with plain text and can be opened with your favorite text viewer.

More Details

Inferring Temporal Relations

The temporal ontologies contain the facts corresponding to trace logs, but do not contain the facts relevant to temporal relations. Instead of directly saving temporal relations (e.g., t:contains) to ontologies, the inference of temporal relations is built inside DPDT based on property functions in order to provide additional indexing mechanism.

Command-Line Options of the Trace Agent

The command line to use the Trace Agent (TraceAgent.dll) is:

java -classpath CLASS_PATH "-agentpath:AGENT_PATH=[method=REGEX][#field=REGEX][#log=LOG_PATH]" CLASS

The options are explained as follows:

  • CLASS_PATH: the search path of bytecode
  • AGENT_PATH: the path of TraceAgent.dll
  • REGEX: the regular expression to match with the JNI (Java Native Interface) signature of the method or field
  • LOG_PATH: the path to save the trace log
  • CLASS: the class to be executed

An example is as follows to generate the trace log presented in the paper:

java -classpath example\classes "-agentpath:%agent%=method=^Lexample/#field=^Lexample/#log=%logFile%" example.Door

%agent% is the agent path and %logFile% is the log path. Both are variables defined in tracing-test.bat. The regular expression ^Lexample/ represents a method or field whose JNI signature starts with Lexample/ (corresponding to the fully qualified name that starts with example.).

About

Online Appendixes and Data Package for the Paper: Distinguishing Similar Design Patterns Instances through Temporal Behavior Analysis

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages