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

  • Découvrez le CRIM
    13/02/2020

    Acteur clé en TI au Québec ; un lien entre les mondes universitaire et industriel, qui développe, adapte et rend accessibles les technologies et les connaissances, pour répondre aux besoins des organisations.

    +

Upcoming event

  • DevOps - En rappel à Québec - Événement Les Affaires
    26 February 2020 8:30
    Hôtel Le Concorde Québec
    Le CRIM fier partenaire de la 2e édition de la conférence DevOps - En rappel à Québec, organisée par les Événement Les Affaires, qui se tiendra les 26 et 27 février 2020 | Hôtel le Concorde, Québec
    +

Recent Publications

  • Efficient Inference of Optimal Decision Trees

    +
  • Maritime Autonomous Surface Ships and the Human Machine Interface

    +