Network


Latest external collaboration on country level. Dive into details by clicking on the dots.

Hotspot


Dive into the research topics where Michel Dagenais is active.

Publication


Featured researches published by Michel Dagenais.


working conference on reverse engineering | 2000

Advanced clone-analysis to support object-oriented system refactoring

Magdalena Balazinska; Ettore Merlo; Michel Dagenais; Bruno Laguë; Kostas Kontogiannis

Manual source code copy and modification is often used by programmers as an easy means for functionality reuse. Nevertheless, such practice produces duplicated pieces of code or clones whose consistent maintenance might be difficult to achieve. It also creates implicit links between classes sharing a functionality. Clones are therefore good candidates for system redesign. This paper presents a novel approach for computer-aided clone-based object-oriented system refactoring. The approach is based on an advanced clone analysis which focuses on the extraction of clone differences and their interpretation in terms of programming language entities. It also focuses on the study of contextual dependencies of cloned methods. The clone analysis has been applied to JDK 1.1.5, a large scale system of 150 KLOC.


ieee international software metrics symposium | 1999

Measuring clone based reengineering opportunities

Magdalena Balazinska; Ettore Merlo; Michel Dagenais; Bruno Laguë; Kostas Kontogiannis

Code duplication, plausibly caused by copying source code and slightly modifying it, is often observed in large systems. Clone detection and documentation have been investigated by several researchers in the past years. Recently, research focus has shifted towards the investigation of software and process restructuring actions based on clone detection. This paper presents an original definition of a clone classification scheme useful to assess and measure different system reengineering opportunities. The proposed classification considers each group of cloned methods in terms of the meaning of the differences existing between them. The algorithm used for automatic classification of clones is presented together with results obtained by classifying cloned methods and measuring reengineering opportunities in six freely available systems whose total size is about 500 KLOC of Java code.


IEEE Transactions on Parallel and Distributed Systems | 2012

User-Level Implementations of Read-Copy Update

Mathieu Desnoyers; Paul E. McKenney; Alan S. Stern; Michel Dagenais; Jonathan Walpole

Read-copy update (RCU) is a synchronization technique that often replaces reader-writer locking because RCUs read-side primitives are both wait-free and an order of magnitude faster than uncontended locking. Although RCU updates are relatively heavy weight, the importance of read-side performance is increasing as computing systems become more responsive to changes in their environments. RCU is heavily used in several kernel-level environments. Unfortunately, kernel-level implementations use facilities that are often unavailable to user applications. The few prior user-level RCU implementations either provided inefficient read-side primitives or restricted the application architecture. This paper fills this gap by describing efficient and flexible RCU implementations based on primitives commonly available to user-level applications. Finally, this paper compares these RCU implementations with each other and with standard locking, which enables choosing the best mechanism for a given workload. This work opens the door to widespread user-application use of RCU.


working conference on reverse engineering | 1999

Partial redesign of Java software systems based on clone analysis

Magdalena Balazinska; Ettore Merlo; Michel Dagenais; Bruno Laguë; Kostas Kontogiannis

Code duplication, plausibly caused by copying source code and slightly modifying it, is often observed in large systems. Clone detection and documentation have been investigated by several researchers in past years. Recently, research focus has shifted towards the investigation of software and process restructuring actions based on clone detection. The paper presents a new redesign approach developed for Java software systems. The approach factorizes the common parts of cloned methods and parameterizes their differences using the strategy design pattern. The new entities created by such transformations are also decoupled from the original contexts of their use, thus facilitating reuse and increasing maintainability. The applicability and automation of the technique presented in the paper have been verified by partially redesigning JDK 1.1.5.


Transplantation | 2009

MELD score and blood product requirements during liver transplantation: no link.

Luc Massicotte; Danielle Beaulieu; Jean-Denis Roy; Denis Marleau; Frank Vandenbroucke; Michel Dagenais; Réal Lapointe; André G. Roy

Background. Orthotopic liver transplantation has been traditionally associated with major blood loss and the need for allogenic blood product transfusions. In recent years, improvements in surgical and anesthetic techniques have greatly decreased the amount of blood products transfused. We have published a median of 0 for all intraoperative blood products transfused. Some authors argue that these results could be possible merely because of the relatively healthy cohort in terms of model of end-stage liver disease (MELD) score. The MELD score could be adjusted by some conditions (hepatocellular carcinoma, hemodialysis, hepatopulmonary syndrome, and amyloidosis) and was not adjusted in these series. The goal of this work was to verify the MELD score according to US standards and to find any link between the MELD score and the transfusion rate. Method. Three hundred fifty consecutive liver transplantations were studied. The MELD score was adjusted according to US standards. Patients were divided into two groups according to the median of the MELD score. Blood loss and transfusion rate were determined for these two groups. Logistic regression models were used to find any link with transfusion of red blood cell (RBC) units. Result. The MELD score before adjusting was 19±9 and 22±10 after. A mean of 0.5±1.3 RBC units/patient intraoperative were transfused with 80.6% of cases without any blood products. There was no difference for the blood loss (999±670 mL vs. 1017±885 mL) or the transfusion rate (0.4±1.2 vs. 0.5±1.4 RBC/patient) between two groups of MELD (<21 or ≥21) or any of its component (creatinine, bilirubin, and international normalized ratio). The logistic regression analysis found that only two variables were linked to RBC transfusion; starting hemoglobin value and phlebotomy. Conclusion. In this series, the MELD score was as high as US series and did not predict blood losses and blood product requirement during liver transplantation. If the MELD system has to be implemented to prioritize orthotopic liver transplantation, it should be revisited, and the starting hemoglobin value should be added to the equation.


workshop on program comprehension | 1999

Extending software quality assessment techniques to Java systems

Jean-François Patenaude; Ettore Merlo; Michel Dagenais; Bruno Laguë

The paper presents extensions to Bell Canada source code quality assessment suite (DATRIX tm) for handling Java language systems. Such extensions are based on source code object metrics, including Java interface metrics, which are presented and explained in detail. The assessment suite helps to evaluate the quality of medium-large software systems identifying parts of the system which have unusual characteristics. The paper also studies and reports the occurrence of clones in medium-large Java software systems. Clone presence affects quality since it increases a system size and often leads to higher maintenance costs. The clone identification process uses Java specific metrics to determine similarities between methods throughout a system. The results obtained from experiments with software evaluation and clone detection techniques, on over 500 KLOC of Java source code, are presented.


IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems | 1989

On the calculation of optimal clocking parameters in synchronous circuits with level-sensitive latches

Michel Dagenais; Nicholas C. Rumin

An algorithm has been developed for the automatic determination of the optimal clock waveforms for synchronous circuits containing level-sensitive latches. From a specification of only the number of clock phases, the rise and fall times of the clock phase transitions, and the order in which they occur, the algorithm computes the minimum time interval between the transitions, while accounting for the clock skew. Timing errors, such as incorrect hold times, are also detected. Existing procedures, in contrast, either verify if a circuit meets a given specification of these clock intervals, or they work with a very restricted set of clocking schemes. The procedure is iterative, and can be formulated as a linear programming problem. It yields an upper bound on the shortest valid clock period at each iteration. Results are presented for a simplified form of this algorithm, implemented in the transistor-level timing analysis program TAMIA. >


workshop on program comprehension | 1999

Parsing C++ despite missing declarations

Gregory Knapen; Bruno Laguë; Michel Dagenais; Ettore Merlo

The paper addresses the problem of parsing a C++ software system that is known to compile correctly, but for which some header files are unavailable. A C++ program file typically depends on numerous included header files from the same system, a third party library, or the operating system standard libraries. It is not possible with a conventional parser to analyze C++ source code without obtaining the complete environment where the program is to be compiled. The paper studies the parsing ambiguities resulting from missing header files and proposes a special parser which uses additional rules and type inference in order to determine the missing declarations. This new parser has achieved 100% accuracy on a large system with numerous missing header files.


Journal of Computer Networks and Communications | 2008

Internal clock drift estimation in computer clusters

Hicham Marouani; Michel Dagenais

Most computers have several high-resolution timing sources, from the programmable interrupt timer to the cycle counter. Yet, even at a precision of one cycle in ten millions, clocks may drift significantly in a single second at a clock frequency of several GHz. When tracing the low-level system events in computer clusters, such as packet sending or reception, each computer system records its own events using an internal clock. In order to properly understand the global system behavior and performance, as reported by the events recorded on each computer, it is important to estimate precisely the clock differences and drift between the different computers in the system. This article studies the clock precision and stability of several computer systems, with different architectures. It also studies the typical network delay characteristics, since time synchronization algorithms rely on the exchange of network packets and are dependent on the symmetry of the delays. A very precise clock, based on the atomic time provided by the GPS satellite network, was used as a reference to measure clock drifts and network delays. The results obtained are of immediate use to all applications which depend on computer clocks or network time synchronization accuracy.


Hpb | 2006

Treatment of post liver transplantation bile duct stricture with self-expandable metallic stent

Franck Vandenbroucke; M. Plasse; Michel Dagenais; Réal Lapointe; Richard Letourneau; André G. Roy

OBJECTIVE The aim of this study is to report our experience using self-expandable covered metallic stents (Wallstent) to treat different types of biliary strictures after orthotopic liver transplantation (OLT). PATIENTS AND METHODS Between January 1999 and July 2004, 222 OLTs were performed with choledocho-choledochostomy (CC) bile duct reconstruction. An anastomotic biliary stricture was diagnosed and treated by endoscopic retrograde cholangiopancreatography (ERCP) or percutaneous procedures in 100 patients (45%). The group of 21 patients (mean age 57.0+/-5.6 years) that were eventually treated with a biliary Wallstent was studied retrospectively. RESULTS Significant persistent proximal or anastomotic strictures were diagnosed in 4 and 17 patients, respectively. A Wallstent was inserted by ERCP or through a percutaneous route in 18 and 3 patients, respectively. The mean interval between diagnosis and Wallstent insertion was 179.7+/-292.8 (0-1113) days. The mean total number of procedures required per patient was 7.4+/-5.5. The mean stent primary patency duration was 10.8+/-7.8 (0.9-25.1) months with a 24-month primary patency rate of 26% at a mean follow-up time of 37.8+/-17.2 months. A hepatico-jejunostomy was performed in five patients (24%). Two patients (10%) underwent retransplantation for diffuse ischemic cholangitis or chronic rejection. The overall complication rate was 4%. CONCLUSION Treatment of post-transplant biliary stenosis using a Wallstent is a valuable option for delaying or avoiding surgery in up to 70% of patients. Proximal stenosis can be treated in the same manner in selected patients with major comorbidities.

Collaboration


Dive into the Michel Dagenais's collaboration.

Top Co-Authors

Avatar

Réal Lapointe

Université de Montréal

View shared research outputs
Top Co-Authors

Avatar

André G. Roy

Université de Montréal

View shared research outputs
Top Co-Authors

Avatar

Naser Ezzati-Jivan

École Polytechnique de Montréal

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar

M. Plasse

Université de Montréal

View shared research outputs
Top Co-Authors

Avatar

Ettore Merlo

École Polytechnique de Montréal

View shared research outputs
Top Co-Authors

Avatar

Masoume Jabbarifar

École Polytechnique de Montréal

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Mathieu Desnoyers

École Polytechnique de Montréal

View shared research outputs
Top Co-Authors

Avatar

Simon Turcotte

Université de Montréal

View shared research outputs
Researchain Logo
Decentralizing Knowledge