Detecting Argument Selection Defects

✒ Enzo SandrĂ© · 📆 12/11/2024 · #ïžâƒŁ Façonnage de code

🔀 L’inversion de paramĂštres d’appel d’une fonction est un dĂ©faut courant, qui peut rester indĂ©tectĂ© longtemps si la couverture de tests n’est pas bonne. Une Ă©quipe germano-amĂ©ricaine comptant des chercheurs de Google a voulu dĂ©terminer la meilleure approche pour dĂ©tecter ce problĂšme Ă  l’aide d’un analyseur statique.

💡 L’outillage qu’ils ont dĂ©veloppĂ© obtient un score de dĂ©tection honorable, mais lĂ  n’est pas le principal fruit du papier. Ils sont surtout dĂ©montrĂ©, si c’était encore nĂ©cessaire que l’usage de Builder doit toujours ĂȘtre prĂ©fĂ©rĂ© Ă  des paramĂštres plĂ©thoriques, qu’il faut respecter les conventions (expected avant actual dans les tests) et que l’hĂ©ritage doit respecter l’ordre des paramĂštres.

đŸ«™ J’ajoute que si les dĂ©veloppeurs cessaient d’utiliser des primitives au profit de types encapsulĂ©s, ils n’auraient mĂȘme pas Ă  se poser la question. Avec 64% de la profession utilisant JS, c’est une utopie.

SOURCE

Andrew Rice, Edward Aftandilian, Ciera Jaspan, Emily Johnston, Michael Pradel, and Yulissa Arroyo-Paredes. 2017. Detecting argument selection defects. Proc. ACM Program. Lang. 1, OOPSLA, Article 104 (October 2017), 22 pages. DOI:10.1145/3133928

Enzo Sandré


📄 Lien public DOIs: 10.1145/3133928