Catégories
Revue académique

L’informatique de Claude Pair

👴 « Une découverte scientifique ne porte jamais le nom de son auteur ». Ainsi s’énonce la Loi de Stigler, qui n’a d’ailleurs probablement pas été inventée par Stigler. Cette loi s’applique parfaitement à l’informaticien Claude Pair. Ce précurseur de la science des langages de programmation est largement oublié aujourd’hui malgré une carrière riche en inventions capitales. […]

Catégories
Revue académique

Flavors : A non-hierarchical approach to object-oriented programming

🍨 Parmi les tentatives pour remédier aux défauts de l’héritage, les mixins figurent en bonne place. Ce concept, créé entre 1979 et 1982 a survécu de nos jours, mais inspira aussi d’autres mécanismes comme les traits, les méthodes d’extension ou les méthodes d’interface. 🔷 Les mixins se présentent comme une solution au problème du diamant, […]

Catégories
Travaux

L’artisanat est-il excluant ?

Parler d’artisanat, de savoir-faire ou pire, de maîtrise, choque certains. Les artisans du logiciel seraient les « gatekeepers de la tech » comme j’ai pu le lire récemment. Ceux qui le pensent ont parfaitement raison, mais prennent l’antipathie et le manque de bienveillance de certains gardiens pour une injustice structurelle ou pire, une discrimination intolérable liée à l’existence de la porte.

Catégories
Revue académique

The Economics of Software Development by Pair Programmers

💰 Un des arguments les plus employés contre le pair-programming est son coût. L’idée est simple : mettre deux développeurs sur un même PC double le coût, sans doubler la vitesse d’exécution. L’entreprise perd de l’argent ! ❌ Rien de plus faux, déjà en 1975, Brooks dénonçait ce fameux mythe du mois/homme. 📊 30 ans […]

Catégories
Travaux

L’affaire Therac-25

Entre juin 1985 et janvier 1987, 6 personnes sont mortes irradiées à cause d’un logiciel médical défectueux. C’est l’affaire Therac-25, en tout cas telle qu’elle est résumée sur Internet. Les développeurs ont-ils du sang sur les mains ? C’est un peu court, nous allons le voir.

Catégories
Revue académique

Ariane 5: Who Dunnit ?

🚀 4 juin 1996. Ariane 5 décolle de la base de Kourou. 37 secondes plus tard, le lanceur explose avec à son bord des expériences scientifiques. Aucun humain n’était à bord, fort heureusement. A qui la faute ? A la gestion du logiciel dans le programme. 🐛 Une exception non rattrapée a provoqué une conversion […]

Catégories
Revue académique

Higher Order Mutation Testing

👾 Les tests de mutation sont incapables de détecter plus que des bugs triviaux. Pour aller plus loin, il faudrait combiner plusieurs mutations par test. Cette technique se nomme HOMT, Higher Order Mutation Testing en Anglais. Le loup ? Le nombre de tests à générer est exponentiel. Comment surmonter cela ? 🧬Deux chercheurs britanniques expliquent […]

Catégories
Revue académique

An empirical study of the impact of modern code review practices on software quality

👓 Nous savons qu’une mauvaise code review baisse la qualité du code. Mais qu’est-ce qu’une bonne review ? Est-ce seulement atteignable ? Les revues formelles des années 70 ont été abandonnées au profit des analyseurs statiques et autres compilateurs avancés. Seules ont survécu les revues modernes, « légères », ritualisées, mais à l’efficacité discutée. 3️⃣ Pour une […]

Catégories
Revue académique

Who needs software engineering ?

👉 Qu’est-ce que le logiciel ? C’est la question que Steve McConnell a posée à plusieurs experts collaborant à l’IEEE Software en 2001. Parmi les réponses, celle de Robert Cochran a particulièrement retenu mon attention. Elle synthétise les propriétés de ce matériau que nous façonnons. 1. Le logiciel est intangible. 2. Il possède un haut […]

Catégories
Revue académique

The Effects of Layering and Encapsulation on Software Development Cost and Quality

💊 Contrairement à l’héritage, l’encapsulation obtient de bons résultats en matière de qualité logicielle. Deux groupes d’étudiants ont été formés. Le premier avait le code source complet d’une dépendance, le second n’en connaissait que l’interface publique. ⏲️ Le groupe n’ayant que l’interface à disposition a mis moins de temps à développer une même fonctionnalité que […]