An empirical evaluation of dependence analysis in parallel program comprehension
Monk, Douglas M.
Doctor of Philosophy
This research contributes two advances to the field of empirical study of parallel programming: first, the introduction of the Xbrowser system, a unique general-purpose hypertext/hypermedia system combining high-qualify text formatting using TeX$\sp*$ or LA TeX with author-controlled support for event-level protocol analysis and computer-assisted instruction. Second, an extensive ground-breaking empirical study using Xbrowser tested effects of dependence analysis and related factors on error severity and time required for successful comprehension of loop transformations relevant to both sequential and parallel program comprehension. The results show that graphical annotation of program source with dependence information as is done in the ParaScope parallel programming environment improves the times required to correctly comprehend the results of parallelizing loops, and that dependence type affects both time required for successful comprehension and severity of errors made in the attempt, with anti-dependences somewhat more problematic than flow dependences, and both much worse than output dependences, particularly for loop carried dependences. An alternative to dependence analysis based on simpler data-flow concepts was not better in either comprehension time or error severity measures, nor were parallel loop transformation shown to be more difficult to understand than equivalent sequential loop transformations for this particular task. Controlling for the previous experimental effects, GRE Analytical and Mathematics scores, SAT Mathematics scores, mathematics grade point average, number of high school and college mathematics courses, and the percentage of working time spent programming were all found to correlate to improved error and/or time performance. ftn$\sp*$ TeX is a trademark of the American Mathematical Society.
Computer science; Statistics