Dynamic and static analysis of multithreaded java programs

Tracking down sources of errors in multithreaded Java applications via static analysis is a laborious task. The team has identified a library of code patterns that may lead to such errors. Overall 38 so-called anti-patterns have been studied and used in the library. A dozen of anti-patterns were implemented in a tool for code analysis. In order to overcome the limitations of static analysis for revealing more subtle bugs, a complementary dynamic analysis was developed, based on the model checking technology. 

Along with these efforts focusing on multithreading, the team also specializes in measuring the quality of source code and its design. Poor coding and design invariably leads to software that is difficult to understand and to maintain, so it is important to assess the quality of the design and source code. This allows for an early detection of defects, such as non-compliance with well-established design principles and coding conventions.

Teams

Recent news

  • Recherche en cours : le CRIM rend disponibles de nouveaux outils technologiques adaptés aux langues autochtones
    05/12/2019

    Les outils créés dans le cadre du projet seront offerts aux chercheurs et aux communautés par l'entremise de deux plateformes ouvertes reconnues : VESTA et ELAN.

    +

Upcoming event

  • Séminaire R-D : L'art de la cyberrésilience: les leçons du secteur bancaire
    30 January 2020 11:00
    CRIM (405, avenue Ogilvy, bureau 101, Montréal)
    Une conférence du Prof. Benoît Dupont, Titulaire de la Chaire de recherche du Canada en cybersécurité,Titulaire de la Chaire de recherche en prévention de la cybercriminalité, Directeur scientifique – Réseau intégré sur la cybersécurité (SERENE-RISC), Université de Montréal.
    +

Recent Publications

  • Deep learning speech recognition for low-resource languages

    +
  • Forage de données géospatiales, quelques applications

    +