This is a utility library for finding method dependencies using a popular static analysis technique called read-write sets analysis (RWSets). Download the source from the following link: http://pan.cin.ufpe.br/software/rwsets.tgz Use the following commands to try it out: $> ./build $> ./run This will show method dependencies across a sample set of cases that can be found under the folder "src/examples". The script "build" compiles the source code and generates a .jar file containing the application under analysis (currently, those under "src/examples"). Our implementation requires the subject to be packaged this way. Open the script "run" to find the arguments that the main class "depend.Main" takes on input. The RWSet algorithm computes the transitive closure of field reads (respectively, field writes) for each application method. For that, it first computes direct dependencies (original from parameters and class fields) for each method and then propagates these direct dependencies through the edges of the call-graph (we used a 0-CFA implementation). The algorithm then computes, for each pair of methods, the intersection across their read and write sets. A read-write dependency is declared if a non-empty intersection is observed. To cite RWSets: @MasterThesis{emami-1993, Author="Maryam Emami", School="McGill University", Year="1993", Title="A practical interprocedural alias analysis for an optimizing/parallelizing C compiler" } Our implementation builds on the T. J. WAtson Libraries for Analysis (WALA). To cite WALA: @Misc{wala-web, Title="T. J. Watson Libraries for Analysis (WALA)", Note="\url{wala.sourceforge.net}" } Important details: There are some issues related to the use of WALA in Java versions >1.7. In case, you use *nix and you have a version of the JDK prior to 1.7, please, set your environment to use it with the following commands. You will be prompted with a question for which version of the Java JVM you want to use. Set the JVM version: $> sudo update-alternatives --config java And do the same for the Java compiler: $> sudo update-alternatives --config javac enjoy, -Marcelo