Network


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

Hotspot


Dive into the research topics where Houari A. Sahraoui is active.

Publication


Featured researches published by Houari A. Sahraoui.


international conference on web services | 2005

A QoS broker based architecture for efficient Web services selection

Mohamed Adel Serhani; Abdelhakim Hafid; Houari A. Sahraoui

Quality of service (QoS) support in Web services plays a great role for the success of this emerging technology. In this paper, we present a QoS broker-based architecture for Web services. The main goal of the architecture is to support the client in selecting Web services based on his/her required QoS. To achieve this goal, we propose a two-phase verification technique that is performed by a third party broker. The first phase consists of syntactic and semantic verification of the service interface description including the QoS parameters description. The second phase consists of applying a measurement technique to compute the QoS metrics stated in the service interface and compares their values with the claimed one. This is used to verify the conformity of a Web service from the QoS point of view (QoS testing). A methodological approach to generate QoS test cases, as input to QoS verification is used. We have implemented a prototype that includes the verification and certification components of the broker. We performed experiments to evaluate the importance of verification and certification features in the selection process using real Web services.


working conference on reverse engineering | 2004

Fingerprinting design patterns

Gueheneuc Y-G; Houari A. Sahraoui; F. Zaidi

Design patterns describe good solutions to common and recurring problems in program design. The solutions are design motifs which software engineers imitate and introduce in the architecture of their program. It is important to identify the design motifs used in a program architecture to understand solved design problems and to make informed changes to the program. The identification of micro-architectures similar to design motifs is difficult because of the large search space, i.e., the many possible combinations of classes. We propose an experimental study of classes playing roles in design motifs using metrics and a machine learning algorithm to fingerprint design motifs roles. Fingerprints are sets of metric values characterising classes playing a given role. We devise fingerprints experimentally using a repository of micro-architectures similar to design motifs. We show that fingerprints help in reducing the search space of micro-architectures similar to design motifs efficiently using the Composite design motif and the JHotDraw framework.


automated software engineering | 2005

Visualization-based analysis of quality for large-scale software systems

Guillaume Langelier; Houari A. Sahraoui; Pierre Poulin

We propose an approach for complex software analysis based on visualization. Our work is motivated by the fact that in spite of years of research and practice, software development and maintenance are still time and resource consuming, and high-risk activities. The most important reason in our opinion is the complexity of many phenomena related to software, such as its evolution and its reliability. In fact, there is very little theory explaining them. Today, we have a unique opportunity to empirically study these phenomena, thanks to large sets of software data available through open-source programs and open repositories. Automatic analysis techniques, such as statistics and machine learning, are usually limited when studying phenomena with unknown or poorly-understood influence factors. We claim that hybrid techniques that combine automatic analysis with human expertise through visualization are excellent alternatives to them. In this paper, we propose a visualization framework that supports quality analysis of large-scale software systems. We circumvent the problem of size by exploiting perception capabilities of the human visual system.


model driven engineering languages and systems | 2008

Model Transformation as an Optimization Problem

Marouane Kessentini; Houari A. Sahraoui; Mounir Boukadoum

Most of the available work on model transformation is based on the hypothesis that transformation rules exist and that the important issue is how to express them. But in real life, the rules may be difficult to define; this is often the case when the source and/or target formalisms are not widely used or proprietary. In this paper, we consider the transformation mechanism as a combinatorial optimization problem where the goal is to find a good transformation starting from a small set of available examples. Our approach, named model transformation as optimization by examples (MOTOE), combines transformation blocks extracted from examples to generate a target model. To that end, we use an adapted version of particle swarm optimization (PSO) where transformation solutions are modeled as particles that exchange transformation blocks to converge towards an optimal transformation solution. MOTOE has two main advantages: It proposes a transformation without the need to derive transformation rules first, and it can operate independently from the source and target metamodels.


automated software engineering | 2013

Maintainability defects detection and correction: a multi-objective approach

Ali Ouni; Marouane Kessentini; Houari A. Sahraoui; Mounir Boukadoum

Software defects often lead to bugs, runtime errors and software maintenance difficulties. They should be systematically prevented, found, removed or fixed all along the software lifecycle. However, detecting and fixing these defects is still, to some extent, a difficult, time-consuming and manual process. In this paper, we propose a two-step automated approach to detect and then to correct various types of maintainability defects in source code. Using Genetic Programming, our approach allows automatic generation of rules to detect defects, thus relieving the designer from a fastidious manual rule definition task. Then, we correct the detected defects while minimizing the correction effort. A correction solution is defined as the combination of refactoring operations that should maximize as much as possible the number of corrected defects with minimal code modification effort. We use the Non-dominated Sorting Genetic Algorithm (NSGA-II) to find the best compromise. For six open source projects, we succeeded in detecting the majority of known defects, and the proposed corrections fixed most of them with minimal effort.


working conference on reverse engineering | 2009

Automatic Package Coupling and Cycle Minimization

Hani Abdeen; Stéphane Ducasse; Houari A. Sahraoui; Ilham Alloui

Object-oriented (OO) software is usually organized into subsystems using the concepts of package or module.Such modular structure helps applications to evolve when facing new requirements.However, studies show that as software evolves to meet requirements and environment changes, modularization quality degrades. To help maintainers improve the quality of software modularization we have designed and implemented a heuristic search-based approach for automatically optimizing inter-package connectivity (i.e., dependencies).In this paper, we present our approach and its underlying techniques and algorithm.We show through a case study how it enables maintainers to optimize OO package structure of source code.Our optimization approach is based on Simulated Annealing technique.


conference on software maintenance and reengineering | 2008

Visual Detection of Design Anomalies

Karim Dhambri; Houari A. Sahraoui; Pierre Poulin

Design anomalies, introduced during software evolution, are frequent causes of low maintainability and low flexibility to future changes. Because of the required knowledge, an important subset of design anomalies is difficult to detect automatically, and therefore, the code of anomaly candidates must be inspected manually to validate them. However, this task is time- and resource-consuming. We propose a visualization-based approach to detect design anomalies for cases where the detection effort already includes the validation of candidates. We introduce a general detection strategy that we apply to three types of design anomaly. These strategies are illustrated on concrete examples. Finally we evaluate our approach through a case study. It shows that performance variability against manual detection is reduced and that our semi-automatic detection has good recall for some anomaly types.


international conference on program comprehension | 2011

Design Defects Detection and Correction by Example

Marouane Kessentini; Wael Kessentini; Houari A. Sahraoui; Mounir Boukadoum; Ali Ouni

Detecting and fixing defects make programs easier to understand by developers. We propose an automated approach for the detection and correction of various types of design defects in source code. Our approach allows to automatically find detection rules, thus relieving the designer from doing so manually. Rules are defined as combinations of metrics/thresholds that better conform to known instances of design defects (defect examples). The correction solutions, a combination of refactoring operations, should minimize, as much as possible, the number of defects detected using the detection rules. In our setting, we use genetic programming for rule extraction. For the correction step, we use genetic algorithm. We evaluate our approach by finding and fixing potential defects in four open-source systems. For all these systems, we found, in average, more than 80% of known defects, a better result when compared to a state-of-the-art approach, where the detection rules are manually or semi-automatically specified. The proposed corrections fix, in average, more than 78%of detected defects.


Software and Systems Modeling | 2012

Search-based model transformation by example

Marouane Kessentini; Houari A. Sahraoui; Mounir Boukadoum; Omar Ben Omar

Model transformation (MT) has become an important concern in software engineering. In addition to its role in model-driven development, it is useful in many other situations such as measurement, refactoring, and test-case generation. Roughly speaking, MT aims to derive a target model from a source model by following some rules or principles. So far, the contributions in MT have mostly relied on defining languages to express transformation rules. However, the task of defining, expressing, and maintaining these rules can be difficult, especially for proprietary and non-widely used formalisms. In some situations, companies have accumulated examples from past experiences. Our work starts from these observations to view the transformation problem as one to solve with fragmentary knowledge, i.e. with only examples of source-to-target MTs. Our approach has two main advantages: (1) it always proposes a transformation for a source model, even when rule induction is impossible or difficult to achieve; (2) it is independent from the source and target formalisms; aside from the examples, no extra information is needed. In this context, we propose an optimization-based approach that consists of finding in the examples combinations of transformation fragments that best cover the source model. To that end, we use two strategies based on two search-based algorithms: particle swarm optimization and simulated annealing. The results of validating our approach on industrial projects show that the obtained models are accurate.


formal techniques for networked and distributed systems | 2004

Formal Verification of Web Applications Modeled by Communicating Automata

May Haydar; Alexandre Petrenko; Houari A. Sahraoui

In this paper, we present an approach for modeling an existing web application using communicating finite automata model based on the user-defined properties to be validated. We elaborate a method for automatic generation of such a model from a recorded browsing session. The obtained model could then be used to verify properties with a model checker, as well as for regression testing and documentation. Unlike previous attempts, our approach is oriented towards complex multi-window/frame applications. We present an implementation of the approach that uses the model checker Spin and provide an example.

Collaboration


Dive into the Houari A. Sahraoui's collaboration.

Top Co-Authors

Avatar
Top Co-Authors

Avatar

Hakim Lounis

Université du Québec à Montréal

View shared research outputs
Top Co-Authors

Avatar

Mounir Boukadoum

Université du Québec à Montréal

View shared research outputs
Top Co-Authors

Avatar

Pierre Poulin

Université de Montréal

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Hani Abdeen

Université de Montréal

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Omar Benomar

Université de Montréal

View shared research outputs
Top Co-Authors

Avatar

Petko Valtchev

Université du Québec à Montréal

View shared research outputs
Researchain Logo
Decentralizing Knowledge