Idées & Perspectives

Explorer le développement AI-first, les garde-fous de code et l'architecture de la jetabilité.

Les LLM peuvent suggérer des metamorphic relations. Ils ne peuvent juste pas les garantir.

Les large language models sont de bons partenaires de brainstorming pour découvrir des test oracles, mais ils hallucinent des propriétés et manquent des contraintes métier. Voici comment les utiliser sans livrer des tests erronés.

Vous devez tester une fonction où la sortie correcte est impossible à connaître à l'avance. Un optimiseur d'itinéraire. Un classificateur de sentiment. Une…

La plupart des metamorphic relations sont inutiles. Voici comment choisir les bonnes.

Toutes les metamorphic relations ne détectent pas de bugs. Les relations faibles donnent une fausse confiance tandis que les fortes trouvent de vraies fautes. Voici comment faire la différence et construire un ensemble de relations qui fonctionne réellement.

Vous avez écrit douze metamorphic relations pour votre moteur de tarification. Chaque test réussit. Vous vous sentez bien au sujet de votre couverture. Puis un…

TypeScript ne vous laissera pas faire cet appel : encoder l'état du protocole dans le système de types

Comment utiliser les types fantômes et les paramètres `this` pour transformer les transitions de protocole illégales en erreurs de compilation au lieu de bugs à l'exécution.

Chaque client API a une state machine cachée à l'intérieur. Handshake d'abord. Authentification ensuite. Envoi de données troisième. Fermeture en dernier.…

OpenAPI vous donne l'alphabet. Les session types ont besoin de la grammaire.

Les spécifications OpenAPI décrivent les schémas de requête et de réponse, mais elles ne spécifient pas les séquences de messages valides. Voici comment extraire ce qui est possible et où vous devez encore combler les lacunes.

Les spécifications OpenAPI vous disent à quoi ressemble une requête valide et à quoi ressemble une réponse valide. Elles ne vous disent pas si vous êtes…

Les types de session fonctionnent. La plupart des langages ont simplement refusé de les implémenter.

Les types de session encodent les protocoles de communication dans le système de types, transformant les erreurs de protocole à l'exécution en erreurs à la compilation. Voici pourquoi ils ont passé trente ans dans des articles de recherche avant que le code de production puisse les utiliser.

Les types de session ont été inventés en 1993. Trente ans plus tard, la plupart des services en réseau valident toujours l'état du protocole avec des…

Comment les types de session transforment les deadlocks en erreurs de compilation

Les types de session encodent les protocoles de communication dans votre système de types, transformant les inadéquations de passage de messages en erreurs de compilation avant que votre code ne s'exécute.

Les deadlocks sont censés être un problème d'exécution. C'est ce qui les rend si agaçants. Votre code compile proprement, vos tests passent, et puis il se…

Les LLM peuvent trier vos avertissements d'analyse statique. Ils ne peuvent simplement pas expliquer pourquoi.

Les large language models peuvent aider à trier les faux positifs de l'analyse statique, mais ils ne comprennent pas la sémantique des programmes comme le fait l'interprétation abstraite. Voici comment combiner les deux.

Votre analyseur statique vient d'émettre 847 avertissements un vendredi après-midi. Vous savez, statistiquement, que quelque part entre 5% et 15% d'entre eux…