đ 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