À propos du CRIM

Analyse statique et dynamique de programmes Java multithread

L’identification des sources d’erreurs dans les applications Java multithreads à partir de l’analyse statique est une tâche difficile. Les structures typiques présentes dans le code source pouvant conduire à l’apparition de ces erreurs ont été étudiées et classées par l’équipe dans une librairie de 38 anti-patrons (anti patterns). Un ensemble de dix anti-patrons ont été implémentés dans une plateforme d’analyse de code. L’analyse statique seule étant insuffisante pour détecter la totalité de ces erreurs, une analyse dynamique complémentaire basée sur le développement d’observateurs sous forme d’automates et le déploiement d’une approche de vérification de modèles a également été développée.

En parallèle à ces efforts centrés sur le multithreading, l’expertise du CRIM comprend également la mesure de la qualité de la conception et du code source. Une conception et un code de mauvaise qualité conduisant au développement de logiciels difficiles à comprendre et à maintenir, des mesures spécifiques couvrant ces deux domaines sont nécessaires. La présence d’erreurs typiques comme la violation de principes reconnus de conception, le non-respect d’heuristiques de qualités et des conventions de codage généralement acceptées par la communauté des développeurs font partie des failles à détecter.

Équipes

Événement à venir

  • Santé et sécurité du travail 2020 - Événement les Affaires
    23/09/20 8h30
    Présentation en ligne
    Le CRIM est fier d'être partenaire de la 10e édition de la conférence Santé et sécurité du travail organisée par les Événement Les Affaires. Présentation en ligne.
    +
  • Merci @Grenier_enbref! #donnees #geospatial @opengeospatial @NASA @environnementca @ESA_EO @RNCan
  • @economie_quebec @SciChefQC @lsirois007 @inocanada @FPInnovations #Technologie #Recherche #Industrie #Investissement #Croissance

Publications récentes

  • An end-to-end approach for the verification problem: learning the right distance

    +
  • The Indigenous Languages Technology Project at NRC Canada: an empowerment-oriented approach to developing language software

    +