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

  • ClimateData.ca - An exceptional tool for Canadian leaders!
    15/08/2019

    Launch of the ClimateData.ca portal in the presence of the Honourable Catherine McKenna, Minister of Environment and Climate Change.

    +

Upcoming event

  • Batimatech 2019
    17 September 2019 9:00
    Les Studios des 7 Doigts à Montréal
    Batimatech 2019, le 17 septembre 2019, sous le thème: l'avenir de la construction aujourd'hui.
    +

Recent Publications

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

    +
  • Des technologies perturbatrices pour de futures applications du bâtiment intelligent utilisant AI

    +