Search For:

Displaying 1-50 out of 54 total
How We Design Interfaces, and How to Assess It
Found in: 2013 IEEE International Conference on Software Maintenance (ICSM)
By Hani Abdeen,Houari Sahraoui,Osama Shata
Issue Date:September 2013
pp. 80-89
Interfaces are widely used in Java applications as central design elements for modular programming to increase program reusability and to ease maintainability of software systems. Despite the importance of interfaces and a considerable research effort that...
 
Search-Based Refactoring Using Recorded Code Changes
Found in: 2013 17th European Conference on Software Maintenance and Reengineering (CSMR)
By Ali Ouni,Marouane Kessentini,Houari Sahraoui
Issue Date:March 2013
pp. 221-230
Over the past decades, many techniques and tools have been developed to record the sequence of applied refactoring to improve design quality. We start from the observation that these recorded code changes can be used to propose new refactoring solutions in...
 
Generating model transformation rules from examples using an evolutionary algorithm
Found in: 2012 27th IEEE/ACM International Conference on Automated Software Engineering (ASE)
By Martin Faunes,Houari Sahraoui,Mounir Boukadoum
Issue Date:September 2012
pp. 250-253
We propose an evolutionary approach to automatically generate model transformation rules from a set of examples. To this end, genetic programming is adapted to the problem of model transformation in the presence of complex input/output relationships (i.e.,...
 
Vasco: A visual approach to explore object churn in framework-intensive applications
Found in: 2012 IEEE International Conference on Software Maintenance (ICSM)
By Fleur Duseau,Bruno Dufour,Houari Sahraoui
Issue Date:September 2012
pp. 15-24
Bloat, and particularly object churn, is a common performance problem in framework-intensive applications. Object churn consists of an excessive use of temporary objects. Identifying and understanding sources of churn is a difficult and labor-intensive tas...
 
Search-based refactoring: Towards semantics preservation
Found in: 2012 IEEE International Conference on Software Maintenance (ICSM)
By Ali Ouni,Marouane Kessentini,Houari Sahraoui,Mohamed Salah Hamdi
Issue Date:September 2012
pp. 347-356
Refactoring restructures a program to improve its structure without altering its behavior. However, it is challenging to preserve the domain semantics of a program when refactoring is decided/implemented automatically. Indeed, a program could be syntactica...
 
Searching the Boundaries of a Modeling Space to Test Metamodels
Found in: Software Testing, Verification, and Validation, 2008 International Conference on
By Juan José Cadavid Gómez,Benoit Baudry,Houari Sahraoui
Issue Date:April 2012
pp. 131-140
Model-driven software development relies on metamodels to formally capture modeling spaces. Metamodels specify concepts and relationships between them in order to represent either a specific business domain model or the input and output domains for operati...
 
Modularization Metrics: Assessing Package Organization in Legacy Large Object-Oriented Software
Found in: Reverse Engineering, Working Conference on
By Hani Abdeen,Stéphane Ducasse,Houari Sahraoui
Issue Date:October 2011
pp. 394-398
There exist many large object-oriented software systems consisting of several thousands of classes that are organized into several hundreds of packages. In such software systems, classes cannot be considered as units for software modularization. In such co...
 
What You See is What You Asked for: An Effort-Based Transformation of Code Analysis Tasks into Interactive Visualization Scenarios
Found in: Source Code Analysis and Manipulation, IEEE International Workshop on
By Ahmed Sfayhi,Houari Sahraoui
Issue Date:September 2011
pp. 195-203
We propose an approach that derives interactive visualization scenarios from descriptions of code analysis tasks. The scenario derivation is treated as an optimization process. In this context, we evaluate different possibilities of using a given visualiza...
 
How Good is Your Comment? A Study of Comments in Java Programs
Found in: Empirical Software Engineering and Measurement, International Symposium on
By Dorsaf Haouari,Houari Sahraoui,Philippe Langlais
Issue Date:September 2011
pp. 137-146
Comments are very useful to developers during maintenance tasks and are useful as well to help structuring a code at development time. They convey useful information about the system functionalities as well as the state of mind of a developer. Comments in ...
 
Design Defects Detection and Correction by Example
Found in: International Conference on Program Comprehension
By Marouane Kessentini, Wael Kessentini, Houari Sahraoui, Mounir Boukadoum, Ali Ouni
Issue Date:June 2011
pp. 81-90
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, t...
 
From Object-Oriented Applications to Component-Oriented Applications via Component-Oriented Architecture
Found in: Software Architecture, Working IEEE/IFIP Conference on
By Simon Allier, Salah Sadou, Houari Sahraoui, Régis Fleurquin
Issue Date:June 2011
pp. 214-223
Object-oriented applications of significant size are often complex and therefore, costly to maintain. Indeed, they rely on the concept of class which has low granularity with many implicit dependencies not always explicit. The component paradigm provides a...
 
Extracting Sequence Diagrams from Execution Traces Using Interactive Visualization
Found in: Reverse Engineering, Working Conference on
By Hassen Grati, Houari Sahraoui, Pierre Poulin
Issue Date:October 2010
pp. 87-96
We present a semi-automated approach for the reverse engineering of UML sequence diagrams. Our approach starts with a set of execution traces that are automatically aligned in order to determine the common behavior. Sequence diagrams are then extracted wit...
 
Deriving Coupling Metrics from Call Graphs
Found in: Source Code Analysis and Manipulation, IEEE International Workshop on
By Simon Allier, Stéphane Vaucher, Bruno Dufour, Houari Sahraoui
Issue Date:September 2010
pp. 43-52
Coupling metrics play an important role in empirical software engineering research as well as in industrial measurement programs. The existing coupling metrics have usually been defined in a way that they can be computed from a static analysis of the sourc...
 
Impact of the visitor pattern on program comprehension and maintenance
Found in: Empirical Software Engineering and Measurement, International Symposium on
By Sebastien Jeanmart, Yann-Gael Gueheneuc, Houari Sahraoui, Naji Habra
Issue Date:October 2009
pp. 69-78
In the software engineering literature, many works claim that the use of design patterns improves the comprehensibility of programs and, more generally, their maintainability. Yet, little work attempted to study the impact of design patterns on the develop...
 
Understanding the use of inheritance with visual patterns
Found in: Empirical Software Engineering and Measurement, International Symposium on
By Simon Denier, Houari Sahraoui
Issue Date:October 2009
pp. 79-88
The goal of this work is to visualize inheritance in object-oriented programs to help its comprehension. We propose a single, compact view of all class hierarchies at once using a custom Sunburst layout. It enables to quickly discover interesting facts acr...
 
Automatic Package Coupling and Cycle Minimization
Found in: Reverse Engineering, Working Conference on
By Hani Abdeen, Stéphane Ducasse, Houari Sahraoui, Ilham Alloui
Issue Date:October 2009
pp. 103-112
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 ...
 
A Metric Extraction Framework Based on a High-Level Description Language
Found in: Source Code Analysis and Manipulation, IEEE International Workshop on
By El Hachemi Alikacem, Houari A. Sahraoui
Issue Date:September 2009
pp. 159-167
Nowadays, many tools are available for metric extraction. However, extending these tools with new metrics or modifying the calculation of existing ones is often difficult, sometimes impossible. Indeed, many of them are black box tools. Others can be extend...
 
Discovering New Change Patterns in Object-Oriented Systems
Found in: Reverse Engineering, Working Conference on
By Stéphane Vaucher, Houari Sahraoui, Jean Vaucher
Issue Date:October 2008
pp. 37-41
Modern software has to evolve to meet the needs of stakeholders; but the nature and scope of this evolution is difficult to anticipate and manage. In this paper, we examine techniques which can discover interesting patterns of evolution in large object-ori...
 
Exploring the evolution of software quality with animated visualization
Found in: Visual Languages and Human-Centric Computing, IEEE Symposium on
By Guillaume Langelier, Houari Sahraoui, Pierre Poulin
Issue Date:September 2008
pp. 13-20
Assessing software quality and understanding how events in its evolution have lead to anomalies are two important steps toward reducing costs in software maintenance. Unfortunately, evaluation of large quantities of code over several versions is a task too...
 
Specification Patterns for Formal Web Verification
Found in: Web Engineering, International Conference on
By May Haydar, Houari Sahraoui, Alexandre Petrenko
Issue Date:July 2008
pp. 240-246
Quality assurance of Web applications is usually an informal process. Meanwhile, formal methods have been proven to be reliable means for the specification, verification, and testing of systems. However, the use of these methods requires learning their mat...
 
Visual Detection of Design Anomalies
Found in: Software Maintenance and Reengineering, European Conference on
By Karim Dhambri, Houari Sahraoui, Pierre Poulin
Issue Date:April 2008
pp. 279-283
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 dif cult to detect automatically, and th...
 
Accommodating Software Development Collaboration
Found in: Asia-Pacific Software Engineering Conference
By Lei Wu, Houari Sahraoui
Issue Date:December 2005
pp. 33-42
With the rapid progress of internet technology, more and more software projects adopt e-development to facilitate the software development process in a world wide context. However, collaborative software e-development activity itself is a complex orchestra...
 
A QoS Broker Based Architecture for Efficient Web Services Selection
Found in: Web Services, IEEE International Conference on
By M. Adel Serhani, Rachida Dssouli, Abdelhakim Hafid, Houari Sahraoui
Issue Date:July 2005
pp. 113-120
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 brokerbased architecture for web services. The main goal of the architecture is to support the client in select...
 
Coping with Legacy System Migration Complexity
Found in: Engineering of Complex Computer Systems, IEEE International Conference on
By Lei Wu, Houari Sahraoui, Petko Valtchev
Issue Date:June 2005
pp. 600-609
During the last three decades, a considerable amount of software has been developed based on obsolete technologies (such as using procedural languages). This type of systems has undergone severe code revisions during a long time period. As a consequence, t...
 
Caribou: A Supporting Environment for Software e-Development
Found in: e-Technology, e-Commerce, and e-Services, IEEE International Conference on
By Lei Wu, Houari Sahraoui, Petko Valtchev
Issue Date:April 2005
pp. 736-739
With the rapid progress of internet technology, more and more software projects adopt e-development to facilitate the software development process in a world wide context. However, collaborative software e-development activity itself is a complex orchestra...
 
Fingerprinting Design Patterns
Found in: Reverse Engineering, Working Conference on
By Yann-Gaël Guéhéneuc, Houari Sahraoui,, Farouk Zaidi
Issue Date:November 2004
pp. 172-181
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 u...
 
Automatic Detecting Code Cooperation
Found in: Asia-Pacific Software Engineering Conference
By Lei Wu, Houari Sahraoui, Petko Valtchev
Issue Date:December 2004
pp. 204-211
Software functionalities and behavior are accomplished by the cooperation of code artifacts. The understanding of this type of source code collaboration provides an important aid to the maintenance and evolution of legacy systems. However, the original col...
 
Supporting Web Collaboration for Cooperative Software Development
Found in: Web Intelligence, IEEE / WIC / ACM International Conference on
By Lei Wu, Houari Sahraoui
Issue Date:September 2004
pp. 740-743
With the rapid growth of web technology, more and more software development projects use web collaborations to facilitate the development process. However, web collaboration activity is a complex orchestration. It involves many people work together without...
 
An Analogy-Based Approach for Predicting Design Stability of Java Classes
Found in: Software Metrics, IEEE International Symposium on
By David Grosser, Houari A. Sahraoui, Petko Valtchev
Issue Date:September 2003
pp. 252
Predicting stability in object-oriented (OO) software, i.e., the ease with which a software item evolves while preserving its design, is a key feature for software maintenance. In fact, a well designed OO software must be able to evolve without violating t...
 
Combining Software Quality Predictive Models: An Evolutionary Approach
Found in: Software Maintenance, IEEE International Conference on
By Salah Bouktif, Houari Sahraoui, Balázs Kégl
Issue Date:October 2002
pp. 0385
During the past ten years, a large number of quality models have been proposed in the literature. In general, the goal of these models is to predict a quality factor starting from a set of direct measures. The lack of data behind these models makes it hard...
 
Predicting Software Stability Using Case-Based Reasoning
Found in: Automated Software Engineering, International Conference on
By David Grosser, Houari A. Sahraoui, Petko Valtchev
Issue Date:September 2002
pp. 295
Predicting stability in object-oriented (OO) software, i.e., the ease with which a software item can evolve while preserving its design, is a key feature for software maintenance. In this paper, we present a novel approach which relies on the case-based re...
 
Combining and Adapting Software Quality Predictive Models by Genetic Algorithms
Found in: Automated Software Engineering, International Conference on
By Danielle Azar, Doina Precup, Salah Bouktif, Balázs Kégl, Houari Sahraoui
Issue Date:September 2002
pp. 285
The goal of quality models is to predict a quality factor starting from a set of direct measures. Selecting an appropriate quality model for a particular software is a difficult, non-trivial decision. In this paper, we propose an approach to combine and/or...
 
Object Identification in Legacy Code as a Grouping Problem
Found in: Computer Software and Applications Conference, Annual International
By Houari Sahraoui, Petko Valtchev, Idrissa Konkobo, Shiqiang Shen
Issue Date:August 2002
pp. 689
Maintenance is undoubtedly the most effort-consuming activity in software production whereby the entropy of legacy systems is a major challenge. Migration of legacy systems to object-oriented technology is considered by many organizations as a suitable way...
 
A Fuzzy Logic Framework to Improve the Performance and Interpretation of Rule-Based Quality Prediction Models for OO Software
Found in: Computer Software and Applications Conference, Annual International
By Houari A. Sahraoui, Mounir Boukadoum, Hassan M. Chawiche, Gang Mai, Mohamed Serhani
Issue Date:August 2002
pp. 131
Current object-oriented (OO) software systems must satisfy new requirements that include quality aspects. These, contrary to functional requirements, are difficult to determine during the test phase of a project. Predictive and estimation models offer an i...
 
Can Metrics Help to Bridge the Gap Between the Improvement of OO Design Quality and Its Automation?
Found in: Software Maintenance, IEEE International Conference on
By Houari A. Sahraoui, Robert Godin, Thierry Miceli
Issue Date:October 2000
pp. 154
During the evolution of object-oriented systems, the preservation of correct design should be a permanent quest. However, for systems involving a large number of classes and subject to frequent modifications, detection and correction of design flaws may be...
 
Towards the Automatic Assessment of Evolvability for Reusable Class Libraries
Found in: Automated Software Engineering, International Conference on
By Houari A. Sahraoui, Hakim Lounis, Mounir A. Boukadoum, Frédéric Ethève
Issue Date:September 2000
pp. 289
Many sources agree that managing the evolution of an OO system constitutes a complex and resource-consuming task. This is particularly true for reusable class libraries, as the user interface must be preserved to allow for version compatibility. Thus, the ...
 
A Metric Based Technique for Design Flaws Detection and Correction
Found in: Automated Software Engineering, International Conference on
By Houari A. Sahraoui, Thierry Miceli, Robert Godin
Issue Date:October 1999
pp. 307
During the evolution of object oriented systems, the preservation of correct design should be a permanent quest. However, for systems involving a large number of classes and subject to frequent modifications, detection and correction of design flaws may be...
 
A Cooperative Parallel Search-Based Software Engineering Approach for Code-Smells Detection
Found in: IEEE Transactions on Software Engineering
By Wael Kessentini,Marouane Kessentini,Houari Sahraoui,Slim Bechikh,Ali Ouni
Issue Date:June 2014
pp. 1
We propose in this paper to consider code-smells detection as a distributed optimization problem. The idea is that different methods are combined in parallel during the optimization process to find a consensus regarding the detection of code-smells. To thi...
 
Deriving Component Interfaces after a Restructuring of a Legacy System
Found in: 2014 IEEE/IFIP Conference on Software Architecture (WICSA)
By Abderrahmane Seriai,Salah Sadou,Houari Sahraoui,Salma Hamza
Issue Date:April 2014
pp. 31-40
Although there are contributions on component-oriented languages, components are mostly implemented using object-oriented (OO) languages. In this perspective, a component corresponds to a set of classes that work together to provide one or more services. S...
 
Towards automatically improving package structure while respecting original design decisions
Found in: 2013 20th Working Conference on Reverse Engineering (WCRE)
By Hani Abdeen,Houari Sahraoui,Osama Shata,Nicolas Anquetil,Stephane Ducasse
Issue Date:October 2013
pp. 212-221
Recently, there has been an important progress in applying search-based optimization techniques to the problem of software re-modularization. Yet, a major part of the existing body of work addresses the problem of modularizing software systems from scratch...
   
Visualizing software dynamicities with heat maps
Found in: 2013 First IEEE Working Conference on Software Visualization (VISSOFT)
By Omar Benomar,Houari Sahraoui,Pierre Poulin
Issue Date:September 2013
pp. 1-10
Interactive software visualization offers a promising support for program comprehension, including program dynamicity. We present, the extension of an existing visualization tool with heat maps to explore the time and other dimensions of software. To this ...
   
A Bayesian Approach for the Detection of Code and Design Smells
Found in: Quality Software, International Conference on
By Foutse Khomh, Stéphane Vaucher, Yann-Gaël Guéhéneuc, Houari Sahraoui
Issue Date:August 2009
pp. 305-314
The presence of code and design smells can have a severe impact on the quality of a program. Consequently, their detection and correction have drawn the attention of both researchers and practitioners who have proposed various approaches to detect code and...
 
Predicting Stability of Open-Source Software Systems Using Combination of Bayesian Classifiers
Found in: ACM Transactions on Management Information Systems (TMIS)
By Faheem Ahmed, Houari Sahraoui, Salah Bouktif
Issue Date:April 2014
pp. 1-26
The use of free and Open-Source Software (OSS) systems is gaining momentum. Organizations are also now adopting OSS, despite some reservations, particularly about the quality issues. Stability of software is one of the main features in software quality man...
     
The use of development history in software refactoring using a multi-objective evolutionary algorithm
Found in: Proceeding of the fifteenth annual conference on Genetic and evolutionary computation conference (GECCO '13)
By Ali Ouni, Houari Sahraoui, Marouane Kessentini, Mohamed Salah Hamdi
Issue Date:July 2013
pp. 1461-1468
One of the widely used techniques for evolving software systems is refactoring, a maintenance activity that improves design structure while preserving the external behavior. Exploring past maintenance and development history can be an effective way of find...
     
Generating model transformation rules from examples using an evolutionary algorithm
Found in: Proceedings of the 27th IEEE/ACM International Conference on Automated Software Engineering (ASE 2012)
By Houari Sahraoui, Martin Faunes, Mounir Boukadoum
Issue Date:September 2012
pp. 250-253
We propose an evolutionary approach to automatically generate model transformation rules from a set of examples. To this end, genetic programming is adapted to the problem of model transformation in the presence of complex input/output relationships (i.e.,...
     
Software clustering by example
Found in: Proceedings of the 13th annual conference companion on Genetic and evolutionary computation (GECCO '11)
By Houari Sahraoui, Marouane Kessentini, Martin Faunes
Issue Date:July 2011
pp. 245-246
We model software clustering problems in a setting, where elements of a software system form a graph to be partitioned in order to derive high-level abstractions. We extend this formulation in a way that the graph partitioning solutions are evaluated by th...
     
Sequence diagram to colored Petri nets transformation testing: an immune system metaphor
Found in: Proceedings of the 2010 Conference of the Center for Advanced Studies on Collaborative Research (CASCON '10)
By Houari Sahraoui, Marouane Kessentini, Mounir Boukadoum
Issue Date:November 2010
pp. 72-85
Model transformation is an important concern in software engineering today and rigorous techniques are needed to check transformation quality. In this paper, we propose a novel oracle function for model transformation testing that is based on the notion th...
     
Modeling web quality using a probabilistic approach: An empirical validation
Found in: ACM Transactions on the Web (TWEB)
By Ghazwa Malak, Houari Sahraoui, Linda Badri, Mourad Badri
Issue Date:July 2010
pp. 1-31
Web-based applications are software systems that continuously evolve to meet users' needs and to adapt to new technologies. Assuring their quality is then a difficult, but essential task. In fact, a large number of factors can affect their quality. Conside...
     
Identifying components in object-oriented programs using dynamic analysis and clustering
Found in: Proceedings of the 2009 Conference of the Center for Advanced Studies on Collaborative Research (CASCON '09)
By Houari A. Sahraoui, Salah Sadou, Simon Allier
Issue Date:November 2009
pp. 136-148
We propose an approach for component candidate identification as a first step towards the extraction of component-based architectures from object-oriented programs. Our approach uses as input dynamic call graphs, built from execution traces corresponding t...
     
Simulated annealing for improving software quality prediction
Found in: Proceedings of the 8th annual conference on Genetic and evolutionary computation (GECCO '06)
By Giuliano Antoniol, Houari Sahraoui, Salah Bouktif
Issue Date:July 2006
pp. 1893-1900
In this paper, we propose an approach for the combination and adaptation of software quality predictive models. Quality models are decomposed into sets of expertise. The approach can be seen as a search for a valuable set of expertise that when combined fo...
     
 1  2 Next >>