Résumé: L’un des principaux défis de l’industrie du logiciel est de développer des systèmes à grande échelle, de haute qualité, et dans les délais requis. Dans ce contexte, la productivité des développeurs, est un facteur clé. La réutilisation logicielle peut améliorer considérablement la productivité des développeurs, et les systèmes à grande échelle sont généralement construits en se basant sur des librairies logicielles existantes à travers leurs APIs « Application Programming Interfaces». Les APIs fournissent un mécanisme de réutilisation du code afin que les développeurs puissent bâtir au-dessus de ce que d’autres ont déjà développé. Toutefois, une utilisation incorrecte des APIs peut générer des coûts supplémentaires de débogage et de correction. Dans cette présentation, j’exposerai les différents défis de l’utilisabilité des librairies logicielles. Ensuite je montrerai comment les techniques d’analyse statique et dynamique de programme peuvent aider à faire face à ces défis tout en étant pragmatique dans les sources de données considérées. Vers la fin de la présentation, j’exposerai brièvement les opportunités et les défis de l’utilisation des APIs dans le contexte de la nouvelle génération des architectures logicielles distribuées tels que les microservices.