21 Janvier – Thesis defense - Ophir Paz

16 h Small amphi - ENSC (Talence)

Le coding comme modèle du couplage homme-machine : technique, sémiotique, mémoire.

Code and its quality are a daily challenges of software development. Reread, shared, interpreted, code is the main tool of the developer who, in his practice, must pay attention to its readability and maintainability - two criteria that “quality” brings together. Software engineering is usually addressing quality by advocating compliance with a set of formal standards, methodological or structural conventions that have been proven empirically. Code should meet a set of “best practices” which must guarantee its clarity and the conformity of the resulting software with functional expectations. Sciences of Cognition studies code readability through the modeling of the cognitive processes at work in the programmer (psychology), or searching metrics correlating syntactic practices and productivity statistics. While this research has enabled considerable advances in the ergonomics and efficiency of development environments, it does not always explain - or sometimes contradict - the empirical practices promoted  by the software engineering community. By adopting a constructional approach, which draws its origin in post-Chomskyean cognitive linguistics, and a philosophy of anthropocentric technique carried by the School of Compiègne, we propose to position the code as a prosthetic tool and to think of it as "cognitive technology". As a constitutive part of human cognition, its effectiveness is relative to its relevance in the technical environment and on the capacity for action that it confers on the latter.
This research work aims to put human activity back at the center of software quality. Adopting a bottom-up approach, we put forward the building blocks that constitute it as cognitive technology starting from the code corpus. By comparison with the work on Construction Grammar, a cognitive grammar of the code appears, distinct from the syntactic constraints necessary for its processing by the machine. The form / function pairings are negotiated and crystallized during the refactoring and code review phases. Through this process, they enrich an externalized repertoire, shared within the limits of the social and technical context of its creation. This set of constructions, both a mode of action on the functioning of a program and an interpretation grid for its specifications and its behavior, is an illustration of the TAC thesis (Technique as Anthropologically Constitutive). We then show, in the light of the work of Gilbert Simondon, that the code as a technical object is both conditioned by its genesis and conducts its own evolution by following phases of saturation and individuation. Thus the intelligibility of the code is presented as situated: the negotiation of meaning is necessary for its readability, the co-evolution of code and cognition are inseparable from its maintainability.

Event localization