On the Influence of Representation Type and Gender on Recognition Tasks of Program Comprehension

RESUME L’objectif de la maintenance logicielle est d’ameliorer les logiciels existants en preservant leur integrite. La maintenance peut representer jusqu’a 60% du budget d’un logiciel. Ainsi, ameliorer la maintenabilite des logiciels est benefique aussi bien pour les fournisseurs que les utilisateurs de logiciels. Les developpeurs de logiciels consacrent un effort considerable a la comprehension des programmes, qui est une etape primordiale a la maintenance logicielle. Nous faisons l’hypotheque que le genre des developpeurs de logiciels et le type de representation peut affecter leur effort et leur efficacite. Ces facteurs doivent etre consideres et minutieusement analyses dans la mesure ou ils peuvent cacher certains effets significatifs pouvant etre identifies en analysant le processus de comprehension. Dans cette these, nous nous inspirons de l’utilisation de l’occulometre pour l’etude du processus cognitif lors de la resolution des problemes. Nous avons effectue une etude fonctionnelle pour evaluer tous les travaux de recherche faisant usage de l’occulometre en genie logiciel. Les resultats obtenus nous ont motive a utiliser l’occulometre pour effectuer un ensemble d’etudes afin analyser l’effet de deux facteurs importants sur la comprehension des programmes : le type de representation (textuelle ou graphique) et le genre du developpeur. Afin de comprendre comment les differents types de representations et le genre influencent les strategies de visualisation, nous avons etudie la difference de strategie entre developpeurs. Les resultats obtenus montrent que, compare a une representation graphique, la representation sous forme de texte structure aide mieux le developpeur dans son processus cognitif lors de la comprehension des programmes de petite taille. Ainsi, la representation textuelle requiert moins de temps et d’effort aux participants. Par contre, la representation graphique est celle preferee par les developpeurs. Nos resultats montrent que la structure topologique de la representation graphique aide les developpeurs a memoriser l’emplacement des elements et a retrouver plus rapidement les elements pertinents compare a la representation textuelle. En plus, la structure hierarchique de la representation graphique guide les developpeurs a suivre une strategie de visualisation specifique. Nous avons observe que les femmes et les hommes ont des strategies de visualisation differentes lors de la lecture du code ou de la memorisation des noms des identificateurs. Les femmes ont tendance a inspecter minutieusement toutes les options afin de proceder a l’elimination de la mauvaise reponse. Au contraire, les hommes ont tendance a inspecter brievement certaines reponses. Pendant que les femmes consacrent plus de temps a analyser chaque type d’entite l’un apres l’autre, les hommes alternent leur attention entre differents type d’entite. ----------ABSTRACT The purpose of software maintenance is to correct and enhance an existing software system while preserving its integrity. Software maintenance can cost more than 60% of the budget of a software system, thus improving the maintainability of software is important for both the software industry and its customers. Program comprehension is the initial step of software maintenance that requires the major amount of maintenance’s time and effort. We conjuncture that developers’ gender and the type of representations that developers utilize to perform program comprehension impact their efficiency and effectiveness. These factors must be considered and carefully studied, because they may hide some significant effects to be found by analyzing the comprehension process. In this dissertation, inspired by the literature on the usefulness of eye-trackers to study the cognitive process involved in problem solving activities, we perform a mapping study and evaluate all research relevant to the use of eye-tracking technique in software engineering. The results motivate us to perform a set of eye-tracking studies to analyze the impact of two important factors on program comprehension: representation type (textual vs. graphical) and developers’ gender. Moreover, we investigate and compare viewing strategies variability amongst developers to understand how the representation type and gender differences influence viewing strategies. Overall, our results indicate that structured text provides more cognitive support for developers while performing program comprehension with small systems compared to a graphical representation. Developers spend less time and effort working with textual representations. However, developers mostly preferred to use graphical representations and our results confirm that the topological structure of graphical representations helps developers to memorize the location of the elements and to find the relevant ones faster in comparison with textual representation. Moreover, the hierarchical structure of the representation guides developers to follow specific viewing strategies while working with representations. Regarding the impact of gender, our results emphasize that male and female developers exploit different viewing strategies while reading source code or recalling the names of identifiers. Female developers seem to carefully weigh all options and rule out wrong answers, while male developers seem to quickly set their minds on some answers and move forward. Moreover, female developers spend more time on each source code entity and analyze it before going to the next one. In contrast, male developers utilize several attention switching strategies between different source code entities.