-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
0 parents
commit 45db1f7
Showing
417 changed files
with
88,667 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,19 @@ | ||
<?xml version="1.0" encoding="UTF-8"?> | ||
<classpath> | ||
<classpathentry excluding="api.txt" kind="src" path="src"/> | ||
<classpathentry exported="true" kind="lib" path="build/jar/ClassLoaderWithListener.jar" sourcepath="src/"/> | ||
<classpathentry kind="src" path="auto"/> | ||
<classpathentry kind="src" output="classes-test" path="test"/> | ||
<classpathentry exported="true" kind="lib" path="jars/java-cup-11a.jar"/> | ||
<classpathentry exported="true" kind="lib" path="jars/JFlex.jar"/> | ||
<classpathentry exported="true" kind="lib" path="jars/hamcrest.jar"/> | ||
<classpathentry exported="true" kind="lib" path="jars/junit.jar"/> | ||
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7"/> | ||
<classpathentry kind="lib" path="/Library/Java/JavaVirtualMachines/jdk1.8.0_77.jdk/Contents/Home/lib/tools.jar"/> | ||
<classpathentry kind="src" path=".apt_generated"> | ||
<attributes> | ||
<attribute name="optional" value="true"/> | ||
</attributes> | ||
</classpathentry> | ||
<classpathentry kind="output" path="classes"/> | ||
</classpath> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
auto | ||
build | ||
classes | ||
classes-test | ||
docs | ||
log | ||
test/CTest.class | ||
test/*.arff | ||
classes-test |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,17 @@ | ||
<?xml version="1.0" encoding="UTF-8"?> | ||
<projectDescription> | ||
<name>RoadRunner</name> | ||
<comment></comment> | ||
<projects> | ||
</projects> | ||
<buildSpec> | ||
<buildCommand> | ||
<name>org.eclipse.jdt.core.javabuilder</name> | ||
<arguments> | ||
</arguments> | ||
</buildCommand> | ||
</buildSpec> | ||
<natures> | ||
<nature>org.eclipse.jdt.core.javanature</nature> | ||
</natures> | ||
</projectDescription> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
eclipse.preferences.version=1 | ||
org.eclipse.jdt.apt.aptEnabled=true | ||
org.eclipse.jdt.apt.genSrcDir=.apt_generated | ||
org.eclipse.jdt.apt.reconcileEnabled=false |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,25 @@ | ||
eclipse.preferences.version=1 | ||
org.eclipse.jdt.core.builder.cleanOutputFolder=ignore | ||
org.eclipse.jdt.core.builder.duplicateResourceTask=warning | ||
org.eclipse.jdt.core.builder.invalidClasspath=abort | ||
org.eclipse.jdt.core.builder.recreateModifiedClassFileInOutputFolder=ignore | ||
org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=*.launch | ||
org.eclipse.jdt.core.circularClasspath=error | ||
org.eclipse.jdt.core.classpath.exclusionPatterns=enabled | ||
org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled | ||
org.eclipse.jdt.core.classpath.outputOverlappingAnotherSource=error | ||
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled | ||
org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate | ||
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8 | ||
org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve | ||
org.eclipse.jdt.core.compiler.compliance=1.8 | ||
org.eclipse.jdt.core.compiler.debug.lineNumber=generate | ||
org.eclipse.jdt.core.compiler.debug.localVariable=generate | ||
org.eclipse.jdt.core.compiler.debug.sourceFile=generate | ||
org.eclipse.jdt.core.compiler.maxProblemPerUnit=100 | ||
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error | ||
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error | ||
org.eclipse.jdt.core.compiler.processAnnotations=enabled | ||
org.eclipse.jdt.core.compiler.source=1.8 | ||
org.eclipse.jdt.core.incompatibleJDKLevel=ignore | ||
org.eclipse.jdt.core.incompleteClasspath=error |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
#Tue Dec 28 15:44:59 PST 2010 | ||
eclipse.preferences.version=1 | ||
org.eclipse.jdt.launching.PREF_STRICTLY_COMPATIBLE_JRE_NOT_AVAILABLE=warning |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,104 @@ | ||
Copyright (c) 2010, Cormac Flanagan (University of California, Santa Cruz) | ||
and Stephen Freund (Williams College) | ||
|
||
All rights reserved. | ||
|
||
Redistribution and use in source and binary forms, with or without | ||
modification, are permitted provided that the following conditions are | ||
met: | ||
|
||
* Redistributions of source code must retain the above copyright | ||
notice, this list of conditions and the following disclaimer. | ||
|
||
* Redistributions in binary form must reproduce the above | ||
copyright notice, this list of conditions and the following | ||
disclaimer in the documentation and/or other materials provided | ||
with the distribution. | ||
|
||
* Neither the names of the University of California, Santa Cruz | ||
and Williams College nor the names of its contributors may be | ||
used to endorse or promote products derived from this software | ||
without specific prior written permission. | ||
|
||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS | ||
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT | ||
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR | ||
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT | ||
HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, | ||
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT | ||
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, | ||
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY | ||
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | ||
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE | ||
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | ||
|
||
|
||
######################################################################### | ||
|
||
June 11, 2015: Various small bug fixes and memory performance improvements. | ||
|
||
Now requires Java 1.7. | ||
|
||
Now coordinates clearing out internal caches when GC | ||
is performed. | ||
|
||
The -trackReflection is a first attempt at generating | ||
events for reflective field/array accesses. | ||
|
||
Now generates ClassAccessed events when a static final | ||
variable is accesses. This is to track the ordering | ||
between the initialization of a static final field | ||
and reads of it. Without that event, spurious warnings | ||
can happen. | ||
|
||
|
||
|
||
Nov 19, 2014: Various bug fixes and memory performance improvements. | ||
These include: more gracefully recovery from various | ||
failures, a more robust fastpath process for array | ||
accesses, and improved handling of shadow state for | ||
volatiles and threads. | ||
|
||
Aug 30, 2014: This is a large update: | ||
|
||
Various bug fixes. This includes corner cases in FT_CAS, | ||
the instrumentor, and the shadow state representation of | ||
arrays (most notably in long-running programs with large | ||
heap sizes --- see ArrayStateFactory.java). | ||
|
||
Arrays are now tracked in fine-grained mode by default | ||
rather than being untracked by default. | ||
|
||
Performance: RoadRunner's shadow state could pin | ||
down objects that otherwise could be collected. All Shadow | ||
State objects (ShadowVolatile, ShadowLock, ArrayState, ...) | ||
now refer back to real state via WeakReferences to avoid | ||
such issues. Some caches for array states do not use | ||
weak references to avoid a run-time performance hit, but | ||
could perhaps be improved in some additional way in the | ||
future. | ||
|
||
Tools can now have more specialized fast path methods for | ||
array and field accesses. See Tool.java. | ||
|
||
July 8, 2014: Various small changes and bug fixes in instrumentation. | ||
|
||
New experimental CAS-based updaters. | ||
|
||
Updated to ASM version 5 and moved it into the rr package | ||
to enable targets using ASM to be properly loaded. | ||
|
||
Jan 9, 2012: Fixed typo in message reporting code for HB tool. | ||
|
||
Jan 6, 2012: Committed change for -lines option. It now applies to | ||
array ops, field ops, but not lock ops. It seems more | ||
useful this way. | ||
|
||
Jan 5, 2012: Committed change for -lines option. It now applies to | ||
array ops, field ops, and lock acquire/release. | ||
|
||
|
||
Oct 3, 2011: Committed and pushed small code edits from various places. | ||
There were some conflicts that should have been resolved | ||
correctly. If problems exist, please use the version from | ||
June 20. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,133 @@ | ||
Copyright (c) 2010, Cormac Flanagan (University of California, Santa Cruz) | ||
and Stephen Freund (Williams College) | ||
|
||
All rights reserved. | ||
|
||
Redistribution and use in source and binary forms, with or without | ||
modification, are permitted provided that the following conditions are | ||
met: | ||
|
||
* Redistributions of source code must retain the above copyright | ||
notice, this list of conditions and the following disclaimer. | ||
|
||
* Redistributions in binary form must reproduce the above | ||
copyright notice, this list of conditions and the following | ||
disclaimer in the documentation and/or other materials provided | ||
with the distribution. | ||
|
||
* Neither the names of the University of California, Santa Cruz | ||
and Williams College nor the names of its contributors may be | ||
used to endorse or promote products derived from this software | ||
without specific prior written permission. | ||
|
||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS | ||
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT | ||
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR | ||
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT | ||
HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, | ||
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT | ||
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, | ||
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY | ||
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | ||
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE | ||
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | ||
|
||
|
||
To Install: | ||
----------- | ||
|
||
1. You will need Ant, Java 1.7, and cpp to build RoadRunner. | ||
The $JAVA_HOME environment variable must point to the proper | ||
Java distribution. (Depending on the Java version, you may need | ||
to add tools.jar from the JDK to your classpath in build.xml or | ||
in Eclipse.) | ||
|
||
2. Unzip the dist file, and cd into the top-level directory. | ||
|
||
3. Build the source: | ||
|
||
> cd RoadRunner; ant | ||
|
||
To Run: | ||
------- | ||
|
||
1. cd RoadRunner | ||
|
||
2. source msetup | ||
|
||
Note: this sets up environment variables and configures | ||
everything for Java 1.7. | ||
|
||
3. Test it: | ||
|
||
|
||
> javac test/Test.java | ||
> rrrun test.Test | ||
|
||
You should get no errors. | ||
|
||
> rrrun -tool=TL:RS:LS test.Test | ||
|
||
You should get many race errors on field Test.y. | ||
|
||
4. Look at options: | ||
|
||
> rrrun -help | ||
|
||
You will at least want to look at the following: | ||
|
||
-quiet | ||
-help | ||
-classpath={String} | ||
-toolpath={String} | ||
-tool={String} | ||
|
||
-classes={StringMatcher} | ||
-fields={StringMatcher} | ||
-methods={StringMatcher} | ||
|
||
-array={ArrayMode} | ||
-field={FieldMode} | ||
|
||
-nobarrier | ||
|
||
5. Look at sample tools: | ||
|
||
> rrrun -tools | ||
|
||
Look at rr.tool.Tool abstract class and sample tools for | ||
implementation info. | ||
|
||
|
||
6. Running on benchmarks: | ||
|
||
When performing comparisions to other analysis platforms, you will | ||
need to pay particular attention to several options, including | ||
-array and -field to ensure memory is instrumented as you intend. | ||
|
||
In addition, RoadRunner includes specialized handling of various | ||
barrier implementations to facilitate writing analyses that must | ||
treat barriers specially. However, it assumes those barriers are | ||
correct, which is not the case for some benchmarks, including | ||
the barriers in JavaGrande. Thus, you will miss errors unless | ||
you specify the "-nobarrier" flag to not treat barrier code | ||
specially. | ||
|
||
|
||
ECLIPSE SUPPORT: | ||
----------- | ||
|
||
After building as described above, you can import the RoadRunner directory | ||
as an existing project. | ||
|
||
Refresh, Clean, etc. should rebuild everything as | ||
necessary. The "rrrun script" will pick up any modifications you made. | ||
|
||
If adding new Tools, changing abbreviations, tools paths, changing the ClassLoader, | ||
changing the agent, or doing anything else unusual, you should rebuilt | ||
RoadRunner with the build.xml ant script to ensure all the auto-generated | ||
files are in sync. | ||
|
||
There is a sample launch script "scripts/RRMain-tools.launch" to print out all | ||
the supported tools from inside Eclipse if you wish to work exclusively | ||
in the Eclipse environment. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,30 @@ | ||
/*** | ||
* ASM: a very small and fast Java bytecode manipulation framework | ||
* Copyright (c) 2000-2011 INRIA, France Telecom | ||
* All rights reserved. | ||
* | ||
* Redistribution and use in source and binary forms, with or without | ||
* modification, are permitted provided that the following conditions | ||
* are met: | ||
* 1. Redistributions of source code must retain the above copyright | ||
* notice, this list of conditions and the following disclaimer. | ||
* 2. Redistributions in binary form must reproduce the above copyright | ||
* notice, this list of conditions and the following disclaimer in the | ||
* documentation and/or other materials provided with the distribution. | ||
* 3. Neither the name of the copyright holders nor the names of its | ||
* contributors may be used to endorse or promote products derived from | ||
* this software without specific prior written permission. | ||
* | ||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" | ||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE | ||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE | ||
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE | ||
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR | ||
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF | ||
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS | ||
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN | ||
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) | ||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF | ||
* THE POSSIBILITY OF SUCH DAMAGE. | ||
*/ | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,17 @@ | ||
CUP Parser Generator Copyright Notice, License, and Disclaimer | ||
|
||
Copyright 1996-1999 by Scott Hudson, Frank Flannery, C. Scott Ananian | ||
Permission to use, copy, modify, and distribute this software and its documentation for any | ||
purpose and without fee is hereby granted, provided that the above copyright notice appear | ||
in all copies and that both the copyright notice and this permission notice and warranty | ||
disclaimer appear in supporting documentation, and that the names of the authors or their | ||
employers not be used in advertising or publicity pertaining to distribution of the software | ||
without specific, written prior permission. | ||
|
||
The authors and their employers disclaim all warranties with regard to this software, | ||
including all implied warranties of merchantability and fitness. In no event shall the | ||
authors or their employers be liable for any special, indirect or consequential damages | ||
or any damages whatsoever resulting from loss of use, data or profits, whether in an | ||
action of contract, negligence or other tortious action, arising out of or in connection | ||
with the use or performance of this software. | ||
|
Oops, something went wrong.