Un API (Application Programming Interface) est une interface de programmation fournie par un programme informatique. Elle permet l'interaction des programmes les uns avec les autres, de manière analogue à une interface homme-machine. Dans Java par exemple, un API est une suite de classes et de méthodes accessible par un code client. Plusieurs projets de logiciels utilisent des librairies tierces à travers les APIs.
Software projects often rely on third-party libraries. David Kawrykow et Martin P. Robillard de McGill University ont constaté qu'il existe des cas où les API ne sont pas utilisés de manière optimale. Ils ont développé une technique et des outils de support pour détecter automatiquement ces cas de mauvaise utilisation d'API.
L'hypothèse principale de leur technique c'est qu'un code client qui imite le comportement d'une méthode API
sans "appeler" cette méthode directement, est un cas d'utilisation non optimale d'API.
Leur technique fait appel à l'analyse des systèmes logiciels pour détecter les cas d'imitation de méthodes API.
Cette technique est expliqué dans leur article "Improving API Usage through Automatic Detection of Redundant Code" publié en 2009. Par cet article,les developpeurs sont sensibilisées sur le ré implémentation des méthodes API. Les auteurs de l'article ont aussi mentionné comment améliorer l'utilisation des API. Ils ont pu appliqué leur approche sur 10 systèmes JAVA qui montrent bien 400 cas de sous utilsation des API. Leur approche a permis d'améliorer la qualité des codes sources de ces systèmes
Je pense cette approche est trop limité dans le sens où elle est applicable seulement à certains systèmes comme ceux de JAVA.
Aucun commentaire:
Enregistrer un commentaire