Network


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

Hotspot


Dive into the research topics where Mourad Badri is active.

Publication


Featured researches published by Mourad Badri.


The Journal of Object Technology | 2004

A Proposal of a New Class Cohesion Criterion: An Empirical Study

Linda Badri; Mourad Badri

Class cohesion refers to the degree of the relatedness of the members in a class. It is considered as one of most important object-oriented software attributes. Several metrics have been proposed in the literature in order to measure class cohesion in objectoriented systems. They capture class cohesion in terms of connections among members within a class. The major existing class cohesion metrics are essentially based on instance variables usage criteria. It is only a special and a restricted way of capturing class cohesion. We believe, as stated in many papers, that class cohesion should not exclusively be based on common instance variables usage criteria. We introduce, in this paper, a new criterion, which focuses on interactions between class methods. We developed a cohesion measurement tool for Java programs and performed a case study on several systems. The obtained results demonstrate that our new class cohesion metric, based on the proposed cohesion criteria, captures several pairs of related methods, which are not captured by the existing cohesion metrics.


asia-pacific software engineering conference | 2005

Supporting predictive change impact analysis: a control call graph based technique

Linda Badri; Mourad Badri; Daniel St-Yves

Change impact analysis plays an important role in software maintenance. It allows developers assessing the possible effects of a change. We present, in this paper, a new static technique supporting software change impact analysis. The technique uses a new model based on control call graphs. It captures the control related to components calls and generates the different control flow paths in a program. The generated paths, in a compacted form, are used to identify the potential set of components that may be affected by a given change. Furthermore, the tool developed can be used to perform predictive impact analysis. It can also be used to support regression testing. We performed an experimental study on several Java programs. The reported results show that the proposed technique can predict impact sets that are more accurate than those obtained using traditional approaches based on call graphs.


The Journal of Object Technology | 2008

Applying Model Checking to Concurrent UML Models

Patrice Gagnon; Farid Mokhati; Mourad Badri

We present, in this paper, a framework supporting a formal verification of concurrent UML models using the Maude language. We consider both static and dynamic features of concurrent object-oriented systems. We focus on UML class, state and communication diagrams. The formal and object-oriented language Maude, based on rewriting logic, supports formal specification and programming of concurrent systems, as well as model checking. The major motivations of this work are: (1) translating concurrent UML diagrams into a Maude formal specification and (2) applying model checking to the generated specifications. The approach is illustrated using a concrete case study.


international conference on quality software | 2007

Verifying UML Diagrams with Model Checking: A Rewriting Logic Based Approach

Farid Mokhati; Patrice Gagnon; Mourad Badri

We present, in this paper, a framework supporting a formal verification of UML diagrams using the Maude language. The approach considers both static and dynamic features of object-oriented systems. We focus, in particular, on UML class, state and communication diagrams. The formal and object-oriented language Maude, based on rewriting logic, supports formal specification and programming of concurrent systems, as well as model checking. The major motivations of this work are: (1) bind together the UML notation and the Maude language (2) preserve the coherence in object-oriented systems description, (3) use model checking techniques to support formally their verification process. The generated Maude specifications, from the considered UML diagrams, are validated by simulation and model checking. The approach is illustrated using a concrete case study.


web information systems engineering | 2006

Modeling web-based applications quality: a probabilistic approach

Ghazwa Malak; Houari A. Sahraoui; Linda Badri; Mourad Badri

Quality assurance of Web-based applications is considered as a main concern. Many factors can affect their quality. Modeling and measuring these factors are by nature uncertain and subjective tasks. In addition, representing relationships between these factors is a complex task. In this paper, we propose an approach for modeling and supporting the assessment of Web-based applications quality. Our proposal is based on Bayesian Networks.


ACM Sigsoft Software Engineering Notes | 2011

An empirical analysis of a testability model for object-oriented programs

Aymen Kout; Fadel Toure; Mourad Badri

We present, in this paper, a metric based testability model for object-oriented programs. The model is, in fact, an adaptation of a model pro-posed in literature for assessing the testability of object-oriented design. The study presented in this paper aims at exploring empirically the capa-bility of the model to assess testability of classes at the code level. We investigate testability from the perspective of unit testing and required testing effort. We designed an empirical study using data collected from two Java software systems for which JUnit test cases exist. To capture testability of classes in terms of required testing effort, we used different metrics to quantify the corresponding JUnit test cases. In order to eva-luate the capability of the model to predict testability of classes (charac-teristics of corresponding test classes), we used statistical tests using correlation.


The Journal of Object Technology | 2008

Revisiting Class Cohesion: An empirical investigation on several systems

Linda Badri; Mourad Badri; Alioune Badara Gueye

Class cohesion is considered as one of most important object-oriented software attributes. Cohesion refers to the degree of relatedness between members in a class. High cohesion is a desirable property of classes. Several metrics have been proposed in literature in order to measure class cohesion in object-oriented systems. They capture class cohesion in terms of connections between members within a class. Most of these metrics have been experimented and widely discussed. They do not take into account some characteristics of classes as stated in several papers. We present, in this paper, an extention of the cohesion metric we proposed in a previous work. We introduce a new cohesion criterion based on common objects parameters. Our main goal in this work was: (1) to demonstrate, by analyzing many real systems that the introduced criterion is statistically significant and, (2) to validate our approach for class cohesion assessment by exploring empirically the relationship that may exist between our new cohesion metric and coupling. We developed a cohesion measurement tool for Java programs and performed an empirical study on several systems. The selected test systems vary in size and domain. The obtained results demonstrate that: (1) the new class cohesion metric captures several additional pairs of related methods and (2) there exists a significant correlation between the new cohesion metric and coupling.


The Journal of Object Technology | 2007

Towards a Tool Supporting Integration Testing of Aspect-Oriented Programs

Philippe Massicotte; Linda Badri; Mourad Badri

Aspect-Oriented Programming is an emerging software engineering paradigm. It offers new constructs and tools improving separation of crosscutting concerns into single units called aspects. AspectJ, the most used aspect-oriented programming language, represents an extension of Java. In fact, existing object-oriented programming languages suffer from a serious limitation in modularizing adequately crosscutting concerns in a program. Many concerns crosscut several classes in an object-oriented system. However, new dependencies between aspects and classes result in new testing challenges. Interactions between aspects and classes are new sources for program faults. Moreover, existing object-oriented testing methods (unit and integration testing) are not well adapted to the aspect technology. As a consequence, new testing techniques must be developed for aspect-oriented programs. We present, in this paper, a new aspects-classes integration testing strategy and the associated tool. The adopted approach consists of two main phases: (1) static analysis: generating testing sequences based on dynamic interactions between aspects and classes, (2) dynamic analysis: verifying the execution of the selected sequences. We focus, in particular, on the integration of one or more aspects in the control of collaborating classes.


international conference on advanced software engineering and its applications | 2010

Exploring Empirically the Relationship between Lack of Cohesion and Testability in Object-Oriented Systems

Linda Badri; Mourad Badri; Fadel Toure

The study presented in this paper aims at exploring empirically the relationship between lack of cohesion and testability of classes in object-oriented systems. We investigated testability from the perspective of unit testing. We designed and conducted an empirical study using two Java software systems for which JUnit test cases exist. To capture testability of classes, we used different metrics to measure some characteristics of the corresponding JUnit test cases. We used also some lack of cohesion metrics. In order to evaluate the capability of lack of cohesion metrics to predict testability, we performed statistical tests using correlation. The achieved results provide evidence that (lack of) cohesion may be associated with (low) testability.


The Journal of Object Technology | 2009

Empirical Analysis of Object-Oriented Design Metrics: Towards a New Metric Using Control Flow Paths and Probabilities

Mourad Badri; Linda Badri; Fadel Toure

A large number of object-oriented metrics have been proposed in literature. They are used to assess different software attributes. However, it is not obvious for a developer or a project manager to select the metrics that are more useful. Furthermore, these metrics are not completely independent. Using several metrics at the same time is time consuming and can generate a quite large data set, which may be difficult to analyze and interpret. We present, in this paper, a new metric capturing in a unified way several aspects of object-oriented systems quality. The metric uses control flow paths and probabilities, and captures the collaboration between classes. Our objective is not to evaluate a given design by giving absolute values, but more relative values that may be used, for example, to identify in a relative way high-risk classes. We have designed and conducted an empirical study using several large Java projects. We compared the new metric, using the Principal Components Analysis method, to several well known object-oriented metrics. The selected metrics were grouped in five categories: coupling, cohesion, inheritance, complexity and size. The obtained results demonstrate that the proposed metric captures, in a large part, the information provided by the other metrics.

Collaboration


Dive into the Mourad Badri's collaboration.

Top Co-Authors

Avatar

Linda Badri

Université du Québec

View shared research outputs
Top Co-Authors

Avatar

Farid Mokhati

Université du Québec à Trois-Rivières

View shared research outputs
Top Co-Authors

Avatar

Fadel Toure

Université du Québec

View shared research outputs
Top Co-Authors

Avatar

Ghazwa Malak

Université de Montréal

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Noura Boudiaf

Université du Québec à Trois-Rivières

View shared research outputs
Top Co-Authors

Avatar

Philippe Massicotte

Université du Québec à Trois-Rivières

View shared research outputs
Top Co-Authors

Avatar
Researchain Logo
Decentralizing Knowledge