🔗 Permalink : https://hdl.handle.net/1866/21280
Détection des utilisations à risque d’API : approche basée sur le système immunitaire
Thesis or Dissertation
Abstract(s)
Les APIs sont des ingrédients essentiels pour développer des systèmes logiciels complexes.
Cependant, elles sont difficiles à apprendre et à utiliser. Par conséquent, les développeurs
peuvent les utiliser à mauvais escient, ce qui entraîne différents types de problèmes.
La mauvaise utilisation d’une interface de programmation peut entraîner des erreurs très
difficiles à détecter et qui peuvent se révéler graves. Détecter ces erreurs d’utilisation n’est
pas simple.
C’est pour cela que nous avons développé une approche basée sur le système immunitaire,
un mécanisme qui permet de détecter à la fois des types d’anomalies connus et inconnus. Ici,
les cellules de l’organisme seront les bonnes utilisations de l’API et les mauvaises utilisations
seront les cellules étrangères de l’organisme. Le système immunitaire a la particularité d’être
un système décentralisé qui fonctionne grâce à des détecteurs, les lymphocytes T, qui ont
pour rôle de détecter les cellules étrangères. Avec APImmune, nous allons donc générer des
détecteurs pour être capables de détecter des utilisations à risque des APIs.
Notre approche a été évaluée sur deux ensembles de données et plus particulièrement
MUBench. Les résultats montrent que notre approche complète les travaux précédemment
réalisés dans ce domaine de recherche. Les détecteurs peuvent être générés à partir de code
source, en abstrayant des utilisations possibles des APIs et en générant des formes déviantes
de ces utilisations. De plus, pour permettre la détection, le code qui a servi à générer les
détecteurs n’a pas besoin d’être révélé. Par ailleurs, les détecteurs peuvent être produits pour
différentes versions de l’interface de programmation, ce qui apporte une vraie modularité dans
la détection. APIs are essential ingredients for developing complex software systems. However, they
are difficult to learn and use. As a result, developers can misuse them, resulting in different
types of issues.
Misuse of a programming interface can lead to errors that are very difficult to detect and
can have consequences. Detecting these misuses is not easy.
We have thus developed an approach based on the immune system, a mechanism that
allows to detect known and unknown anomaly types. Here the cells of the organism will be
the good uses of the API and the bad ones will be the foreign cells of the organism. The
immune system has the particularity of being a decentralized system that functions thanks
to detectors, T lymphocytes, whose role is to detect foreign cells. With APImmune we will
therefore generate detectors that have the ability to detect risky uses of APIs.
Our approach was evaluated on two sets of data and more specifically MUBench. The
results show that our approach complements previous works in this area of research. In
addition, the detectors can be generated from source code by abstracting the API usages
and by generating artificial deviations from these usages. Moreover, for the detection purpose,
only the artificial detectors are necessary, and the code used to generate them is not disclosed.
Finally, the detectors can be produced for different versions of the programming interface,
that brings modularity in the detection.
This document disseminated on Papyrus is the exclusive property of the copyright holders and is protected by the Copyright Act (R.S.C. 1985, c. C-42). It may be used for fair dealing and non-commercial purposes, for private study or research, criticism and review as provided by law. For any other use, written authorization from the copyright holders is required.