posted on 2022-10-18, 13:32authored byMichael Desmond
When exploring source code in modern integrated development environments (IDEs), programmers are prone to disorientation, a state of ‘mental lostness’ which disrupts concentration and task focus. Disorientation can result in important information being forgotten or overlooked and recovery requires additional time and effort which reduces programmer productivity and satisfaction.
A primary factor in the occurrence of programmer disorientation is the exploration interface design prevalent in modern IDEs. Programmers are effectively restricted to examining a single fragment of source code at any moment during exploration activities, and more significantly, there exists little or no representation or continuity of exploration history or context from one source code display to the next. Essentially, source code exploration is carried out as a series of perceptually independent glances at the code. This manner of exploration, particularly considering the complex and highly fragmented nature of source code, places a significant ongoing mental burden on the programmer and leads to a variety of problems associated with maintaining and regaining focus, finding particular locations and elements in the code and developing an accurate conceptual model of the underlying interconnected implementation.
Inline source code exploration is a mechanism for exploring source code in-context. Contrary to the traditional mechanism of explicitly navigating between isolated source code displays, the programmer progressively introduces related source code elements into the context of a focal, or primary, source code display in a controlled and interactive manner. The inline style of exploration results in an explicit representation of the programmers exploration history/context which serves as a reminder of ongoing focus and intent as well as an orientation aid in the code space. The approach also facilitates the pursuit of exploratory digressions without the problematic need to leave the originating context and supports the examination and comprehension of fragmented source code in a single coherent display.
This thesis explores the concept of inline source code exploration and specifically its application as a means of reducing the occurrence and severity of disorientation suffered by programmers during source code exploration activities.
Funding
A new method for transforming data to normality with application to density estimation