As I began my research, I performed a comprehensive survey of current distributed systems, available here. As I realized the potential benefit of parallelization automation techniques to these systems, I next performed an elaborate survey of parallelizing compilers, theory and practice (not yet online). Since most of the literature describes analysis techniques more suitable to Fortran programs, I had to develop some new techiniques for high-level analysis of C and C++ programs.
When I understood the flexibility a C++ implementation could provide, I wrote a small C++ prototype implementation, described here. Sample output of this system can be viewed here.
This is an early writeup of my thesis proposal. A more mature formulation is available in my report, "Parallel Programming for Everyone".