2016 7th International Workshop on Empirical Software Engineering in Practice (IWESEP) (2016)
March 13, 2016 to March 13, 2016
While coding, developers construct and maintain mental models of software systems to support the task at hand. Although source code is the main product of software development, the process involves navigating and inspecting entities beyond the ones that are edited by the end of a task. Developers use various user interfaces (UI) offered by the Integrated Development Environment (IDE) to navigate the complex, and often hidden, relationships between program entities. These UIs impose fixed navigation costs, in terms of the number of interactions that a developer is required to perform to reach an entity of interest. It is unclear to what extent the actual navigation effort differs from an ideal setting, and if there is any room for actual improvement. We present a preliminary empirical study, where we analyzed a corpus of IDE interaction data coming from 6 developers totaling more than 20 days of development activity. To measure the navigation efficiency, we compute a combination of different ideal settings and compare them against the observed navigation events. Our findings reveal that, on average, developers perform 1.5 to 19 times more navigation events than the ideal case. While different factors make the ideal setting unfeasible, we believe that this calls for novel approaches to support the navigation in integrated development environments.
Navigation, Browsers, User interfaces, Mice, Protocols, Software, Cognitive science
R. Minelli, A. Mocci and M. Lanza, "Measuring Navigation Efficiency in the IDE," 2016 7th International Workshop on Empirical Software Engineering in Practice (IWESEP), Osaka, Japan, 2016, pp. 1-6.