La compréhension de programmes informatiques par l'expert : un modèle en termes de schémas
Institution:
Paris 5Disciplines:
Directors:
Abstract EN:
The aim of this study is to model the activity of program understanding by experts in programming. This activity is studied in the framework of the schema theory. This theory is set out according to its use in text understanding and program understanding. Some differences between these domains are stressed. The experimental studies on program understanding are synthesized : some results interpretable in the theoretical framework are emphazised. Three experiments have been conducted. Their goal is the analysis of the types of knowledge and the processes involved in program understanding. In a first experiment, some observations are collected on the activity developed by experts in a debugging task. Different strategies are identified. They involved differents types of activities among which a task-oriented understanding activity. The second experiment allows to analyze the evoked knowledge and the representation constructed in an early phase of the realization of a debugging task. In a third experiment, an experimental paradigm have been developed : it allows to collect information, in real time, about the hypotheses elaborated and evaluated by experts during program understanding. A program is presented, one instruction at a time, and the subjects have to express hypotheses about the program at each new presented instruction. The analysis of verbal protocols allows to describe some schemata possessed by experts and the processes of schema activation and evaluation. These schemata are identified in two knowledge domains : the task domain and the programming domain. The evaluation process used by the subjects in order to judge the coherence of the constructed representation is also described. A model of program understanding is developed. The explicative and predictive values of the model and its generalization to others classes of situations are discussed in the conclusion.
Abstract FR:
L'objectif de cette etude est d'apporter des elements pour la modelisation de l'activite de comprehension de programmes informatiques par des experts en programmation. Cette activite est etudiee dans le cadre de la theorie des schemas. Cette theorie est presentee selon l'utilisation qui en est faite en comprehension de textes et en comprehension de programmes. Des differences sont soulignees entre ces deux domaines. Une synthese est faite sur les etudes experimentales portant sur la comprehension de programmes : des resultats interpretables dans le cadre theorique sont mis en valeur. Trois experiences sont presentees. Elles visent a analyser les types de connaissances utilisees pour comprendre un programme et les processus de mise en oeuvre de ces connaissances. Dans une premiere experience, des observations sont recueillies sur l'activite mise en oeuvre par des experts dans une tache de "debugging", c'est-a-dire de detection et correction d'erreurs. Differentes strategies de debugging sont identifiees. Elles mettent en oeuvre differents types d'activite dont une activite de comprehension finalisee par la tache. La seconde experience permet d'analyser les connaissances evoquees et la structure de la representation construite dans une phase precoce de la realisation d'une tache de "debugging". Pour la troisieme experience, un paradigme experimental est developpe : il permet de recueillir des informations, en temps reel, sur les hypotheses que l'expert elabore et evalue lors de la comprehension de programmes. Un programme est presente, instruction par instruction, le sujet devant formuler des hypotheses sur le programme a chaque nouvelle instruction presentee. L'analyse des protocoles verbaux permet de decrire certains des schemas de connaissances que possede l'expert et les processus d'activation et d'instanciation de ces schemas. Des schemas sont decrits dans deux domaines : le domaine d'application et le domaine informatique. Le processus d'evaluation qui vise a juger de la coherence de la representation construite est egalement decrit. Un modele de comprehension de programmes est developpe.