Skip to content

Commit

Permalink
Improved README
Browse files Browse the repository at this point in the history
Improved descriptions
  • Loading branch information
alpersen authored and alpersen committed Jan 6, 2015
1 parent b075abe commit 8e916b1
Showing 1 changed file with 13 additions and 8 deletions.
21 changes: 13 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,14 +1,19 @@
dyndatarace
Dyndatarace
===========

Dynamic Data Race Detection
Dynamic Data Race Detection Tool (Dyndatarace): Copyright 2014 Onder Kalaci, Alper Sen, Bogazici University.

This repo includes the executables and all the required data for executing the experiments in the
"Segment Based Hybrid Dynamic Data Race Detection" paper and the technical report in Bogazici University (Dynamic Data Race Detection in Concurrent Programs).
This repo includes the precompiled executables and source codes of Dyndatarace, a binary instrumentation based hybrid dynamic data race detection tool. All the required data for executing the experiments
described in below publications are included as well.

Four different pintools are under the folder "pintools". Their names are self explanatory.
Onder Kalaci, DYNAMIC DATA RACE DETECTION IN CONCURRENT PROGRAMS, MS Thesis, Bogazici University, 2014. Supervisor: Alper Sen

Onder Kalaci, Alper Sen, "Hybrid Data Race Detection for Multithreaded Programs", Technical Report, Bogazici University, 2014.

The distribution includes four different pintools are under the folder "pintools". Our algorithm is in SegmentBasedHybrid directory.

In our experiments, we used the following vesions of tools:

In our experiments, we used the following tools and their exact versions:
PIN version: "pin-2.1256759-gcc-4.4.7".
Apache httpd web server version: 2-2.22
pbzip2 version: Parallel BZIP2 v1.1.6
Expand All @@ -19,7 +24,7 @@ Firefox: Firefox 28.0 (used in only in the technical report)
===========
How to compile from sources

Firstly, set the "PIN_ROOT" variable as the root directory of your PIN directory.
First, set the "PIN_ROOT" variable as the root directory of your PIN directory.
Then, for each of the detector (sources/PureHappensBefore, sources/PureLockset, sources/HybridDetector), change the directory,
and execute a single "make" command.
For each detector, a folder named "obj-intel64" will be created.
Expand Down Expand Up @@ -65,7 +70,7 @@ They are already freely avalible on the web "parsec.cs.princeton.edu/download.ht
example.executeOurImpelemtation("hybrid", "HybridDetector.so",{"max_single_segment_set_size":segmentCountForThisExecution, "enable_signle_access" : "", "sample_rate" :str(SAMPLE_RATES[counter]) } , "tsan_1_0")

c)How to get output
c) How to get output:
Fourth parameter given to "executeOurImpelemtation" is the file where the outputs are written for each application.
Moreover, in the end, a file with name format "HH:MM:SS_DD_MM_YYYY_execution_history.txt" is written, which includes all the test results executed with "executeOurImpelemtation" function call. This file is an XML file, which is easy to read and understand.
ie:
Expand Down

0 comments on commit 8e916b1

Please sign in to comment.