Reducing Code Navigation Effort with Differential Code Coverage
        
            
    ID
              TR-2008-14
          Publishing date
              September 08, 2008
          Length
              11 pages
          Abstract
              Programmers spend a significant amount of time navigating code. However, few details are known about how  this time is spent. To investigate this time, we performed  a study of professional programmers performing programming  tasks. We found that these professionals frequently  needed to follow execution paths in the code, but that they  often made faulty assumptions about which code had executed,  impeding their progress. Earlier work on software  reconnaissance has addressed this problem, but has focused  on whether the technique could provide the correct information  to a programmer, not on whether the technique reduces  or improves navigation. We built a tool, called Tripoli,  that provides an approximation to software reconnaissance  via differential code coverage and reran a subset of the  initial study. We found that Tripoli had a positive effect  on code navigation: less experienced programmers with  Tripoli were often more successful in less time than experienced  programmers without.