VLDB 2026 Research / reviewers in the wild / expert
Houari Sahraoui
dblp:s/HouariASahraoui · also Houari A. Sahraoui
· DBLP profile ↗
133ranked-venue papers
8as first author
26since 2021 · last 2027
0000-0001-6304-9926ORCID · verified
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 123 · 8 first-author · 26 since 2021Databases, data management, data science and information retrieval · 11 · 4 since 2021Artificial intelligence and machine learning · 10Human-computer interaction and ubiquitous computing · 6 · 1 since 2021Applied, interdisciplinary, general and emerging computing · 2 · 2 first-authorComputer networks · 1
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2027 | Balancing usefulness and naturalness: an LLM-based curation pipeline for code review comments
Oussama Ben Sghaier, Martin Weyssow, Houari Sahraoui |
Empir. Softw. Eng. | 3 |
| 2026 | Modeling Sampling Workflows for Code RepositoriesabstractEmpirical software engineering research often depends on datasets of code repository artifacts, where sampling strategies are employed to enable large-scale analyses. The design and evaluation of these strategies are critical, as they directly influence the generalizability of research findings. However, sampling remains an underestimated aspect in software engineering research: we identify two main challenges related to (1) the design and representativeness of sampling approaches, and (2) the ability to reason about the implications of sampling decisions on generalizability. To address these challenges, we propose a Domain-Specific Language (DSL) to explicitly describe complex sampling strategies through composable sampling operators. This formalism supports both the specification and the reasoning about the generalizability of results based on the applied sampling strategies. We implement the DSL as a Python-based fluent API, and demonstrate how it facilitates representativeness reasoning using statistical indicators extracted from sampling workflows. We validate our approach through a case study of MSR papers involving code repository sampling. Our results show that the DSL can model the sampling strategies reported in recent literature. Romain Lefeuvre, Maïwenn Le Goasteller, Jessie Galasso, Benoît Combemale, Quentin Perez, Houari Sahraoui |
MSR | 6 |
| 2026 | Syntactic multilingual probing of pre-trained language models of codeabstractPre-trained language models (PLMs) have demonstrated remarkable abilities in coding tasks, establishing themselves as a state-of-the-art technique in machine learning for code. However, due to their deep neural network-based structure, PLMs function as black-box systems, making it crucial to understand the types of information they actually learn. Recent studies indicate that PLMs possess cross-lingual capabilities, allowing them to generalize to unseen programming languages and outperform monolingual models when trained in a multilingual setting. Nonetheless, the reasons behind these cross-lingual abilities remain largely uncharted and remain open questions. In this paper, we explore this phenomenon through a syntactic perspective. Specifically, we build on our prior work, the AST-Probe, a probing methodology that evaluates whether a PLM encodes the complete grammatical structure of a programming language. This probe identifies a syntactic subspace within the PLM’s vector representations, which is then used to reconstruct ASTs. We extend this approach in two ways. First, we conducted experiments on eight programming languages and eight PLMs and found that: (1) this syntactic structure can be extracted in all cases, (2) CodeBERT and GraphCodeBERT excel at encoding ASTs, and (3) syntactic knowledge resides in the middle layers of all PLMs, with a distribution that is independent of the programming language. Secondly, we mathematically adapt the AST-Probe to a multilingual setting and apply it to CodeBERT. Our findings provide evidence that CodeBERT learns cross-lingual representations of programming languages syntax. José Antonio Hernández López, Martin Weyssow, Jesús Sánchez Cuadrado, Houari Sahraoui |
J. Syst. Softw. | 4 |
| 2026 | MDE for crop representations in smart farming digital twins: a reinforcement learning perspective
Pascal Archambault, Houari Sahraoui, Eugene Syriani |
Softw. Syst. Model. | 2 |
| 2026 | On the Utility of Domain Modeling Assistance with Large Language ModelsabstractModel-Driven Engineering (MDE) simplifies software development through abstraction, yet challenges such as time constraints, incomplete domain understanding, and adherence to syntactic constraints hinder the design process. This article presents a study to evaluate the usefulness of a novel approach utilizing Large Language Models (LLMs) and few-shot prompt learning to assist in domain modeling. The aim of this approach is to overcome the need for extensive training of traditional AI-based completion algorithms on domain-specific datasets and to offer versatile support for various modeling activities, providing valuable recommendations to software modelers. To support this approach, we developed MAGDA, a user-friendly tool, through which we conduct a user study and assess the real-world applicability of our approach in the context of domain modeling, offering valuable insights into its usability and effectiveness. Meriem Ben Chaaben, Loli Burgueño, Istvan David, Houari Sahraoui |
ACM Trans. Softw. Eng. Methodol. | 4 |
| 2026 | CodeUltraFeedback: An LLM-as-a-Judge Dataset for Aligning Large Language Models to Coding PreferencesabstractEvaluating the alignment of large language models (LLMs) with user-defined coding preferences is a challenging endeavor that requires a deep assessment of LLMs’ outputs. Existing methods and benchmarks rely primarily on automated metrics and static analysis tools, which often fail to capture the nuances of user instructions and LLM outputs. To address this gap, we introduce the LLM-as-a-Judge evaluation framework and present CodeUltraFeedback, a comprehensive dataset for assessing and improving LLM alignment with coding preferences. CodeUltraFeedback consists of 10,000 coding instructions, each annotated with four responses generated from a diverse pool of 14 LLMs. These responses are annotated using GPT-3.5 as a judge, with both ranking-based scores and detailed textual feedback across five distinct coding preferences. Our analysis reveals that responses from GPT-3.5 and GPT-4 are consistently rated higher than those from open-weight models, underscoring substantial alignment gaps between closed- and open-weight LLMs. In turn, we explore the usage of CodeUltraFeedback as feedback data to fine-tune and align CodeLlama-7B-Instruct using supervised fine-tuning (SFT) and reinforcement learning from AI feedback (RLAIF) with direct preference optimization (DPO). The resulting aligned model achieves an average alignment improvement of 22.7% and 29.7% when evaluated with GPT-3.5 and GPT-4 judges, respectively. Notably, our aligned CodeLlama-7B-Instruct surpasses much larger models, such as CodeLlama-13B and 34B, in alignment with coding preferences. Despite not being explicitly trained for functional correctness, it also achieves a 10.5% and 26.6% relative improvement in Pass@1 and Pass@10 on the HumanEval+ benchmark. Our contributions demonstrate the practical value of preference tuning in code generation and set the stage for further progress in model alignment and RLAIF for automated software engineering. Martin Weyssow, Aton Kamanda, Xin Zhou 0014, Houari Sahraoui |
ACM Trans. Softw. Eng. Methodol. | 4 |
| 2025 | MONO2REST: Identifying and Exposing Microservices: a Reusable RESTification ApproachabstractThe microservices architectural style has become the de facto standard for large-scale cloud applications, offering numerous benefits in scalability, maintainability, and deployment flexibility. Many organizations are pursuing the migration of legacy monolithic systems to a microservices architecture. However, this process is challenging, risky, time-intensive, and prone-to-failure while several organizations lack necessary financial resources, time, or expertise to set up this migration process. So, rather than trying to migrate a legacy system where migration is risky or not feasible, we suggest exposing it as a microservice application without without having to migrate it. In this paper, we present a reusable, automated, two-phase approach that combines evolutionary algorithms with machine learning techniques. In the first phase, we identify microservices at the method level using a multi-objective genetic algorithm that considers both structural and semantic dependencies between methods. In the second phase, we generate REST APIs for each identified microservice using a classification algorithm to assign HTTP methods and endpoints. We evaluated our approach with a case study on the Spring PetClinic application, which has both monolithic and microservices implementations that serve as ground truth for comparison. Results demonstrate that our approach successfully aligns identified microservices with those in the reference microservices implementation, highlighting its effectiveness in service identification and API generation. Matthéo Lécrivain, Hanifa Barry, Dalila Tamzalit, Houari Sahraoui |
ICSR | 4 |
| 2025 | Combining Large Language Models with Static Analyzers for Code Review GenerationabstractCode review is a crucial but often complex, subjective, and time-consuming activity in software development. Over the past decades, significant efforts have been made to automate this process. Early approaches focused on knowledge-based systems (KBS) that apply rule-based mechanisms to detect code issues, providing precise feedback but struggling with complex, context-dependent cases. More recent work has shifted toward fine-tuning pre-trained language models for code review, enabling broader issue coverage but often at the expense of precision. In this paper, we propose a hybrid approach that combines the strengths of KBS and learning-based systems (LBS) to generate high-quality, comprehensive code reviews. Our method integrates knowledge at three distinct stages of the language model pipeline: during data preparation (DataAugmented Training, DAT), at inference (Retrieval-Augmented Generation, RAG), and after inference (Naive Concatenation of Outputs, NCO). We empirically evaluate our combination strategies against standalone KBS and LBS fine-tuned on a realworld dataset. Our results show that these hybrid strategies enhance the relevance, completeness, and overall quality of review comments, effectively bridging the gap between rule-based tools and deep learning models. Imen Jaoua, Oussama Ben Sghaier, Houari Sahraoui |
MSR | 3 |
| 2025 | Harnessing Large Language Models for Curated Code ReviewsabstractIn code review, generating structured and relevant comments is crucial for identifying code issues and facilitating accurate code changes that ensure an efficient code review process. Well-crafted comments not only streamline the code review itself but are also essential for subsequent tasks like code refinement, where the code is modified to satisfy the input review comment. Although various AI-based approaches aimed to automate comment generation, their effectiveness remains limited by the quality of the training data. Existing code review datasets are often noisy and unrefined, posing limitations to the learning potential of AI models and hindering the automation process. To address these challenges, we propose a curation pipeline designed to enhance the quality of the largest publicly available code review dataset. We begin by establishing an evaluation framework, incorporating specific criteria and categories to empirically study the initial quality of the dataset. Using a large language model (LLM)-driven approach, we then apply our curation pipeline to refine the dataset. A comparative analysis of the newly curated dataset, based on the same evaluation framework, demonstrates substantial improvements in the clarity and conciseness of the comments. Additionally, we assess the impact of the curated dataset on automating downstream tasks, specifically comment generation and code refinement. Our findings show that the curated dataset leads to enhanced model performance in generating more accurate comments. Curated comments are also more useful as they lead to more accurate code refinement. Oussama Ben Sghaier, Martin Weyssow, Houari Sahraoui |
MSR | 3 |
| 2025 | Guest editorial for the special section on MODELS 2022
Nelly Bencomo, Houari Sahraoui, Eugene Syriani, Manuel Wimmer |
Softw. Syst. Model. | 2 |
| 2025 | Automation in Model-Driven Engineering: A Look Back, and AheadabstractModel-Driven Engineering (MDE) provides a huge body of knowledge of automation for many different engineering tasks, especially those involving transitioning from design to implementation. With the huge progress made in AI, questions arise about the future of MDE, such as how existing MDE techniques and technologies can be improved or how other activities that currently lack dedicated support can also be automated. However, at the same time, it has to be revisited where and how models should be used to keep the engineers in the loop for creating, operating, and maintaining complex systems. To trigger dedicated research on these open points, we discuss the history of automation in MDE and present perspectives on how automation in MDE can be further improved and which obstacles have to be overcome in both the medium and long-term. Loli Burgueño, Davide Di Ruscio, Houari Sahraoui, Manuel Wimmer |
ACM Trans. Softw. Eng. Methodol. | 3 |
| 2025 | Exploring Parameter-Efficient Fine-Tuning Techniques for Code Generation with Large Language ModelsabstractLarge language models (LLMs) demonstrate impressive capabilities to generate accurate code snippets given natural language intents in a zero-shot manner, i.e., without the need for specific fine-tuning. While prior studies have highlighted the advantages of fine-tuning LLMs, this process incurs high computational costs, making it impractical in resource-scarce environments, particularly for models with billions of parameters. To address these challenges, previous research explored in-context learning (ICL) and retrieval-augmented generation (RAG) as strategies to guide the LLM generative process with task-specific prompt examples. However, ICL and RAG introduce inconveniences, such as the need for designing contextually relevant prompts and the absence of learning task-specific parameters, thereby limiting downstream task performance. In this context, we foresee parameter-efficient fine-tuning (PEFT) as a promising approach to efficiently specialize LLMs to task-specific data while maintaining reasonable resource consumption. In this article, we deliver a comprehensive study of PEFT techniques for LLMs in the context of automated code generation. Our comprehensive investigation of PEFT techniques for LLMs reveals their superiority and potential over ICL and RAG across a diverse set of LLMs and three representative Python code generation datasets: Conala, CodeAlpacaPy, and APPS. Furthermore, our study highlights the potential for tuning larger LLMs and significant reductions in memory usage by combining PEFT with quantization. Therefore, this study opens opportunities for broader applications of PEFT in software engineering scenarios. Martin Weyssow, Xin Zhou 0014, Kisub Kim, David Lo 0001, Houari Sahraoui |
ACM Trans. Softw. Eng. Methodol. | 5 |
| 2024 | CodeLL: A Lifelong Learning Dataset to Support the Co-Evolution of Data and Language Models of CodeabstractMotivated by recent work on lifelong learning applications for language models (LMs) of code, we introduce CodeLL, a lifelong learning dataset focused on code changes. Our contribution addresses a notable research gap marked by the absence of a long-term temporal dimension in existing code change datasets, limiting their suitability in lifelong learning scenarios. In contrast, our dataset aims to comprehensively capture code changes across the entire release history of open-source software repositories. In this work, we introduce an initial version of CodeLL, comprising 71 machine-learning-based projects mined from Software Heritage. This dataset enables the extraction and in-depth analysis of code changes spanning 2,483 releases at both the method and API levels. CodeLL enables researchers studying the behaviour of LMs in lifelong fine-tuning settings for learning code changes. Additionally, the dataset can help studying data distribution shifts within software repositories and the evolution of API usages over time. Martin Weyssow, Claudio Di Sipio, Davide Di Ruscio, Houari Sahraoui |
MSR | 4 |
| 2024 | Improving repair of semantic ATL errors using a social diversity metric
Zahra VaraminyBahnemiry, Jessie Galasso, Bentley Oakes, Houari Sahraoui |
Softw. Syst. Model. | 4 |
| 2024 | Building Domain-Specific Machine Learning Workflows: A Conceptual Framework for the State of the PracticeabstractDomain experts are increasingly employing machine learning to solve their domain-specific problems. This article presents six key challenges that a domain expert faces in transforming their problem into a computational workflow, and then into an executable implementation. These challenges arise out of our conceptual framework which presents the "route" of options that a domain expert may choose to take while developing their solution. To ground our conceptual framework in the state-of-the-practice, this article discusses a selection of available textual and graphical workflow systems and their support for these six challenges. Case studies from the literature in various domains are also examined to highlight the tools used by the domain experts as well as a classification of the domain-specificity and machine learning usage of their problem, workflow, and implementation. The state-of-the-practice informs our discussion of the six key challenges, where we identify which challenges are not sufficiently addressed by available tools. We also suggest possible research directions for software engineering researchers to increase the automation of these tools and disseminate best-practice techniques between software engineering and various scientific domains. Bentley Oakes, Michalis Famelis, Houari Sahraoui |
ACM Trans. Softw. Eng. Methodol. | 3 |
| 2023 | On the Usage of Continual Learning for Out-of-Distribution Generalization in Pre-trained Language Models of CodeabstractPre-trained language models (PLMs) have become a prevalent technique in deep learning for code, utilizing a two-stage pre-training and fine-tuning procedure to acquire general knowledge about code and specialize in a variety of downstream tasks. However, the dynamic nature of software codebases poses a challenge to the effectiveness and robustness of PLMs. In particular, world-realistic scenarios potentially lead to significant differences between the distribution of the pre-training and test data, i.e., distribution shift, resulting in a degradation of the PLM's performance on downstream tasks. In this paper, we stress the need for adapting PLMs of code to software data whose distribution changes over time, a crucial problem that has been overlooked in previous works. The motivation of this work is to consider the PLM in a non-stationary environment, where fine-tuning data evolves over time according to a software evolution scenario. Specifically, we design a scenario where the model needs to learn from a stream of programs containing new, unseen APIs over time. We study two widely used PLM architectures, i.e., a GPT2 decoder and a RoBERTa encoder, on two downstream tasks, API call and API usage prediction. We demonstrate that the most commonly used fine-tuning technique from prior work is not robust enough to handle the dynamic nature of APIs, leading to the loss of previously acquired knowledge i.e., catastrophic forgetting. To address these issues, we implement five continual learning approaches, including replay-based and regularization-based methods. Our findings demonstrate that utilizing these straightforward methods effectively mitigates catastrophic forgetting in PLMs across both downstream tasks while achieving comparable or superior performance. Martin Weyssow, Xin Zhou 0014, Kisub Kim, David Lo 0001, Houari Sahraoui |
ESEC/SIGSOFT FSE | 5 |
| 2023 | A Multi-Step Learning Approach to Assist Code ReviewabstractModern code review is a process for early detection and reduction of issues, which assists in ensuring the quality of the source code, detecting anomalies, and identifying potential improvements. However, this is a highly manual activity that requires a lot of resources and time. Recent research has addressed these problems by attempting to entirely automate this task (i.e., generating code reviews). However, we do believe that dismissing the reviewer from this process is not the best option in terms of its optimal functioning, especially considering the high error rates in the proposed approaches. Furthermore, this full automation is still too far to achieve given the complexity of the task that requires human intelligence. In this work, we aim to assist the reviewer in the code review process. We propose an approach for detecting the type of issue and locating parts of the code that need to be revised by developers. In the first phase, we propose a meta-learner that combines a learning-based model and a knowledge-based model to predict the type of issue from the review comment. Then, we use this component to create and label a large dataset composed of quadruplets. We use this data set to finetune a pre-trained language model to predict the types of issues (e.g., naming, resource handling, etc.), that need to be addressed in the original code snippet. Furthermore, we fine-tune another pre-trained language model to locate these issues in the source code submitted by developers. We evaluate the performance of our approach using a test set not considered during the training. Our results show that our model accurately locates and predicts the types of issues. Oussama Ben Sghaier, Houari Sahraoui |
SANER | 2 |
| 2022 | Fine-Grained Analysis of Similar Code Snippets
Jessie Galasso, Michalis Famelis, Houari Sahraoui |
ICSR | 3 |
| 2022 | Global Decision Making Over Deep Variability in Feedback-Driven Software DevelopmentabstractTo succeed with the development of modern software, organizations must have the agility to adapt faster to constantly evolving environments to deliver more reliable and optimized solutions that can be adapted to the needs and environments of their stakeholders including users, customers, business, development, and IT. However, stakeholders do not have sufficient automated support for global decision making, considering the increasing variability of the solution space, the frequent lack of explicit representation of its associated variability and decision points, and the uncertainty of the impact of decisions on stakeholders and the solution space. This leads to an ad-hoc decision making process that is slow, error-prone, and often favors local knowledge over global, organization-wide objectives. The Multi-Plane Models and Data (MP-MODA) framework explicitly represents and manages variability, impacts, and decision points. It enables automation and tool support in aid of a multi-criteria decision making process involving different stakeholders within a feedback-driven software development process where feedback cycles aim to reduce uncertainty. We present the conceptual structure of the framework, discuss its potential benefits, and enumerate key challenges related to tool supported automation and analysis within MP-MODA. Jörg Kienzle, Benoît Combemale, Gunter Mussbacher, Omar Alam, Francis Bordeleau, Loli Burgueño, Gregor Engels, Jessie Galasso, Jean-Marc Jézéquel, Bettina Kemme, Sébastien Mosser 0001, Houari Sahraoui, Maximilian Schiedermeier, Eugene Syriani |
ASE | 12 |
| 2022 | AST-Probe: Recovering abstract syntax trees from hidden representations of pre-trained language modelsabstractThe objective of pre-trained language models is to learn contextual representations of textual data. Pre-trained language models have become mainstream in natural language processing and code modeling. Using probes, a technique to study the linguistic properties of hidden vector spaces, previous works have shown that these pre-trained language models encode simple linguistic properties in their hidden representations. However, none of the previous work assessed whether these models encode the whole grammatical structure of a programming language. In this paper, we prove the existence of a syntactic subspace, lying in the hidden representations of pre-trained language models, which contain the syntactic information of the programming language. We show that this subspace can be extracted from the models’ representations and define a novel probing method, the AST-Probe, that enables recovering the whole abstract syntax tree (AST) of an input code snippet. In our experimentations, we show that this syntactic subspace exists in five state-of-the-art pre-trained language models. In addition, we highlight that the middle layers of the models are the ones that encode most of the AST information. Finally, we estimate the optimal size of this syntactic subspace and show that its dimension is substantially lower than those of the models’ representation spaces. This suggests that pre-trained language models use a small part of their representation spaces to encode syntactic information of the programming languages. José Antonio Hernández López, Martin Weyssow, Jesús Sánchez Cuadrado, Houari Sahraoui |
ASE | 4 |
| 2022 | Guest editorial for the special section on MODELS 2020
Silvia Abrahão, Juan de Lara, Houari Sahraoui, Eugene Syriani |
Softw. Syst. Model. | 3 |
| 2022 | Promoting social diversity for the automated learning of complex MDE artifacts
Edouard Batot, Houari Sahraoui |
Softw. Syst. Model. | 2 |
| 2022 | A generic approach to detect design patterns in model transformations using a string-matching algorithm
Chihab eddine Mokaddem, Houari Sahraoui, Eugene Syriani |
Softw. Syst. Model. | 2 |
| 2022 | Recommending metamodel concepts during modeling activities with pre-trained language models
Martin Weyssow, Houari Sahraoui, Eugene Syriani |
Softw. Syst. Model. | 2 |
| 2021 | Automated Patch Generation for Fixing Semantic Errors in ATL Transformation RulesabstractWith the growing popularity of the MDE paradigm, model transformations are becoming more and more complex. ATL transformations, in particular, are error-prone due to the declarative nature of the language and the dependency towards the involved metamodels. To alleviate the burden of developers, we propose, in this paper, an approach for fixing semantic errors in ATL transformation rules without predefined patch templates for specific error types. In a first step, our approach determines the rules that are likely to contain errors starting from the discrepancy between the expected and produced outputs of test cases. Then, a second step allows to generate candidate patches for these errors using a multiobjective optimization algorithm, guided by the same test cases. In a preliminary evaluation, we show that our approach can fix most of the errors for transformations with one or two errors. For those with multiple errors, more iterations are necessary to fix some of the errors. Zahra VaraminyBahnemiry, Jessie Galasso, Khalid Belharbi, Houari Sahraoui |
MoDELS | 4 |
| 2021 | Understanding High-Level Behavior with a Light-Traces Visualization MetaphorabstractWe propose to exploit a visualization metaphor and a set of filters to assist developers grasping high-level behaviors of programs. Our interactive visualization is based on a metaphor of light-traces as part of an animation to explore execution scenarios. The animation is augmented with a set of structural and temporal filters to reduce the volume of information displayed. We showcase our visualization environment on two case studies featuring programs of a chess game and a UML diagram editor. Dorian Vandamme, Houari Sahraoui, Pierre Poulin |
VISSOFT | 2 |
| 2020 | Model Transformation by Example with Statistical Machine Translation
Karima Berramla, El Abbassia Deba, Jiechen Wu, Houari Sahraoui, Abou El Hassan Benyamina |
MODELSWARD | 4 |
| 2020 | Towards assisting developers in API usage by automated recovery of complex temporal patterns
Mohamed Aymen Saied, Erick Raelijohn, Edouard Batot, Michalis Famelis, Houari Sahraoui |
Inf. Softw. Technol. | 5 |
| 2020 | ReSIde: Reusable service identification from software families
Anas Shatnawi, Abdelhak-Djamel Seriai, Houari Sahraoui, Tewfik Ziadi, Abderrahmane Seriai |
J. Syst. Softw. | 3 |
| 2020 | Opportunities in intelligent modeling assistance
Gunter Mussbacher, Benoît Combemale, Jörg Kienzle, Silvia Abrahão, Hyacinth Ali, Nelly Bencomo, Márton Búr, Loli Burgueño, Gregor Engels, Pierre Jeanjean, Jean-Marc Jézéquel, Thomas Kühn 0001, Sébastien Mosser 0001, Houari Sahraoui, Eugene Syriani, Dániel Varró, Martin Weyssow |
Softw. Syst. Model. | 14 |
| 2019 | Automated metamodel/model co-evolution: A search-based approach
Wael Kessentini, Houari Sahraoui, Manuel Wimmer |
Inf. Softw. Technol. | 2 |
| 2018 | Towards the automated recovery of complex temporal API-usage patternsabstractDespite the many advantages, the use of external libraries through their APIs remains difficult because of the usage patterns and constraints that are hidden or not properly documented. Existing work provides different techniques to recover API usage patterns from client programs in order to help developers understand and use those libraries. However, most of these techniques produce basic patterns that generally do not involve temporal properties. In this paper, we discuss the problem of temporal usage patterns recovery and propose a genetic-programming algorithm to solve it. Our evaluation on different APIs shows that the proposed algorithm allows to derive non-trivial temporal usage patterns that are useful and generalizable to new API clients. Mohamed Aymen Saied, Houari Sahraoui, Edouard Batot, Michalis Famelis, Pierre-Olivier Talbot |
GECCO | 2 |
| 2018 | Identifying software components from object-oriented APIs based on dynamic analysisabstractThe reuse at the component level is generally more effective than the one at the object-oriented class level. This is due to the granularity level where components expose their functionalities at an abstract level compared to the fine-grained object-oriented classes. Moreover, components clearly define their dependencies through their provided and required interfaces in an explicit way that facilitates the understanding of how to reuse these components. Therefore, several component identification approaches have been proposed to identify components based on the analysis object-oriented software applications. Nevertheless, most of the existing component identification approaches did not consider co-usage dependencies between API classes to identify classes/methods that can be reused to implement a specific scenario. In this paper, we propose an approach to identify reusable software components in object-oriented APIs, based on the interactions between client applications and the targeted API. As we are dealing with actual clients using the API, dynamic analysis allows to better capture the instances of API usage. Approaches using static analysis are usually limited by the difficulty of handling dynamic features such as polymorphism and class loading. We evaluate our approach by applying it to three Java APIs with eight client applications from the DaCapo benchmark. DaCapo provides a set of pre-defined usage scenarios. The results show that our component identification approach has a very high precision. Anas Shatnawi, Hudhaifa Shatnawi, Mohamed Aymen Saied, Zakarea Alshara, Houari Sahraoui, Abdelhak-Djamel Seriai |
ICPC | 5 |
| 2018 | Integrating the Designer in-the-loop for Metamodel/Model Co-Evolution via Interactive Computational SearchabstractMetamodels evolve even more frequently than programming languages. This evolution process may result in a large number of instance models that are no longer conforming to the revised meta-model. On the one hand, the manual adaptation of models after the metamodels' evolution can be tedious, error-prone, and time-consuming. On the other hand, the automated co-evolution of metamodels/models is challenging especially when new semantics is introduced to the metamodels. In this paper, we propose an interactive multi-objective approach that dynamically adapts and interactively suggests edit operations to developers and takes their feedback into consideration. Our approach uses NSGA-II to find a set of good edit operation sequences that minimizes the number of conformance errors, maximizes the similarity with the initial model (reduce the loss of information) and minimizes the number of proposed edit operations. The designer can approve, modify, or reject each of the recommended edit operations, and this feedback is then used to update the proposed rankings of recommended edit operations. We evaluated our approach on a set of metamodel/model coevolution case studies and compared it to fully automated coevolution techniques. Wael Kessentini, Manuel Wimmer, Houari Sahraoui |
MoDELS | 3 |
| 2018 | Recommending Model Refactoring Rules from Refactoring ExamplesabstractModels, like other first-class artifacts such as source code, are maintained and may be refactored to improve their quality and, consequently, one of the derived artifacts. Considering the size of the manipulated models, automatic support is necessary for refactoring tasks. When the refactoring rules are known, such a support is simply the implementation of these rules in editors. However, for less popular and proprietary modeling languages, refactoring rules are generally difficult to define. Nevertheless, their knowledge is often embedded in practical examples. In this paper, we propose an approach to recommend refactoring rules that we lean automatically from refactoring examples. The evaluation of our approach on three modeling languages shows that, in general, the learned rules are accurate. Chihab eddine Mokaddem, Houari Sahraoui, Eugene Syriani |
MoDELS | 2 |
| 2018 | Injecting Social Diversity in Multi-objective Genetic Programming: The Case of Model Well-Formedness Rule LearningabstractSoftware modelling activities typically involve a tedious and time-consuming effort by specially trained personnel. This lack of automation hampers the adoption of the Model Driven Engineering (MDE) paradigm. Nevertheless, in the recent years, much research work has been dedicated to learn MDE artifacts instead of writing them manually. In this context, mono- and multi-objective Genetic Programming (GP) has proven being an efficient and reliable method to derive automation knowledge by using, as training data, a set of examples representing the expected behavior of an artifact. Generally, the conformance to the training example set is the main objective to lead the search for a solution. Yet, single fitness peak, or local optima deadlock, one of the major drawbacks of GP, remains when adapted to MDE and hinders the results of the learning. We aim at showing in this paper that an improvement in populations’ social diversity carried out during the evolutionary computation will lead to more efficient search, faster convergence, and more generalizable results. We ascertain improvements are due to our changes on the search strategy with an empirical evaluation featuring the case of learning well-formedness rules in MDE with a multi-objective genetic algorithm. The obtained results are striking, and show that semantic diversity allows a rapid convergence toward the near-optimal solutions. Moreover, when the semantic diversity is used as for crowding distance, this convergence is uniform through a hundred of runs. Edouard Batot, Houari Sahraoui |
SSBSE | 2 |
| 2018 | Automated Co-evolution of Metamodels and Transformation Rules: A Search-Based ApproachabstractMetamodels frequently change over time by adding new concepts or changing existing ones to keep track with the evolving problem domain they aim to capture. This evolution process impacts several depending artifacts such as model instances, constraints, as well as transformation rules. As a consequence, these artifacts have to be co-evolved to ensure their conformance with new metamodel versions. While several studies addressed the problem of metamodel/model co-evolution (Please note the potential name clash for the term co-evolution. In this paper, we refer to the problem of having to co-evolve different dependent artifacts in case one of them changes. We are not referring to the application or adaptation of co-evolutionary search algorithms.), the co-evolution of metamodels and transformation rules has been less studied. Currently, programmers have to manually change model transformations to make them consistent with the new metamodel versions which require the detection of which transformations to modify and how to properly change them. In this paper, we propose a novel search-based approach to recommend transformation rule changes to make transformations coherent with the new metamodel versions by finding a trade-off between maximizing the coverage of metamodel changes and minimizing the number of static errors in the transformation and the number of applied changes to the transformation. We implemented our approach for the ATLAS Transformation Language (ATL) and validated the proposed approach on four co-evolution case studies. We demonstrate the outperformance of our approach by comparing the quality of the automatically generated co-evolution solutions by NSGA-II with manually revised transformations, one mono-objective algorithm, and random search. Wael Kessentini, Houari Sahraoui, Manuel Wimmer |
SSBSE | 2 |
| 2018 | Systematic mapping study of template-based code generation
Eugene Syriani, Lechanceux Luhunu, Houari Sahraoui |
Comput. Lang. Syst. Struct. | 3 |
| 2018 | Special section on Visual Analytics in Software Engineering
Miroslaw Staron, Houari Sahraoui, Alexandru C. Telea |
Inf. Softw. Technol. | 2 |
| 2018 | Improving reusability of software libraries through usage pattern mining
Mohamed Aymen Saied, Ali Ouni 0001, Houari Sahraoui, Raula Gaikovina Kula, Katsuro Inoue, David Lo 0001 |
J. Syst. Softw. | 3 |
| 2017 | Heuristic-Based Recommendation for Metamodel - OCL CoevolutionabstractWe propose a novel approach for solving the problem of coevolution between metamodels and OCL constraints. Unlike existing solutions, our approach does not rely on predefined update rules and explicit tracking of high level changes to the metamodel. Rather, we pose it as a multi-objective optimization problem, exploring the space of possible OCL modifications to identify solutions that (a) do not violate the structure of the new version of the metamodel, (b) minimize changes to existing constraints, and (c) minimize loss of information. Finally, we recommend an appropriate subset of solutions to the user. We evaluate our approach on three cases of metamodel and OCL coevolution. The results show that we recommend accurate solutions for updating OCL constraints, even for complex evolution changes. Edouard Batot, Wael Kessentini, Houari Sahraoui, Michalis Famelis |
MoDELS | 3 |
| 2017 | Recovering software product line architecture of a family of object-oriented product variants
Anas Shatnawi, Abdelhak-Djamel Seriai, Houari Sahraoui |
J. Syst. Softw. | 3 |
| 2017 | Reverse engineering reusable software components from object-oriented APIs
Anas Shatnawi, Abdelhak-Djamel Seriai, Houari Sahraoui, Zakarea Alshara |
J. Syst. Softw. | 3 |
| 2017 | MORE: A multi-objective refactoring recommendation approach to introducing design patterns and fixing code smellsabstractRefactoring is widely recognized as a crucial technique applied when evolving object‐oriented software systems. If applied well, refactoring can improve different aspects of software quality including readability, maintainability, and extendibility. However, despite its importance and benefits, recent studies report that automated refactoring tools are underused much of the time by software developers. This paper introduces an automated approach for refactoring recommendation, called MORE, driven by 3 objectives: (1) to improve design quality (as defined by software quality metrics), (2) to fix code smells, and (3) to introduce design patterns. To this end, we adopt the recent nondominated sorting genetic algorithm, NSGA‐III, to find the best trade‐off between these 3 objectives. We evaluated the efficacy of our approach using a benchmark of 7 medium and large open‐source systems, 7 commonly occurring code smells (god class, feature envy, data class, spaghetti code, shotgun surgery, lazy class, and long parameter list), and 4 common design pattern types (visitor, factory method, singleton, and strategy). Our approach is empirically evaluated through a quantitative and qualitative study to compare it against 3 different state‐of‐the art approaches, 2 popular multiobjective search algorithms, and random search. The statistical analysis of the results confirms the efficacy of our approach in improving the quality of the studied systems while successfully fixing 84% of code smells and introducing an average of 6 design patterns. In addition, the qualitative evaluation shows that most of the suggested refactorings (an average of 69%) are considered by developers to be relevant and meaningful. Ali Ouni 0001, Marouane Kessentini, Mel Ó Cinnéide, Houari Sahraoui, Kalyanmoy Deb, Katsuro Inoue |
J. Softw. Evol. Process. | 4 |
| 2016 | Automated Metamodel/Model Co-evolution Using a Multi-objective Optimization Approach
Wael Kessentini, Houari Sahraoui, Manuel Wimmer |
ECMFA | 2 |
| 2016 | A cooperative approach for combining client-based and library-based API usage pattern miningabstractSoftware developers need to cope with the complexity of Application Programming Interfaces (APIs) of external libraries or frameworks. Typical APIs provide thousands of methods to their client programs, and these methods are not used independently of each other. Much existing work has provided different techniques to mine API usage patterns based on client programs in order to help developers understanding and using existing libraries. Other techniques propose to overcome the strong constraint of clients' dependency and infer API usage patterns only using the library source code. In this paper, we propose a cooperative usage pattern mining technique (COUPminer) that combines client-based and library-based usage pattern mining. We evaluated our technique through four APIs and the obtained results show that the cooperative approach allows taking advantage at the same time from the precision of client-based technique and from the generalizability of library-based techniques. Mohamed Aymen Saied, Houari Sahraoui |
ICPC | 2 |
| 2016 | A generic framework for model-set selection for the unification of testing and learning MDE tasks
Edouard Batot, Houari Sahraoui |
MoDELS | 2 |
| 2016 | Systematic Mapping Study of Model Transformations for Concrete ProblemsabstractAs a contribution to the adoption of the Model-Driven Engineering (MDE) paradigm, the research community has proposed concrete model transformation solutions for the MDE infrastructure and for domain-specific problems. However, as the adoption increases and with the advent of the new initiatives for the creation of repositories, it is legitimate to question whether proposals for concrete transformation problems can be still considered as research contributions or if they respond to a practical/technical work. In this paper, we report on a systematic mapping study that aims at understanding the trends and characteristics of concrete model transformations published in the past decade. Our study shows that the number of papers with, as main contribution, a concrete transformation solution, is not as high as expected. This number increased to reach a peak in 2010 and is decreasing since then. Our results also include a characterization and an analysis of the published proposals following a rigorous classification scheme. Edouard Batot, Houari Sahraoui, Eugene Syriani, Paul Molins, Wael Sboui |
MODELSWARD | 2 |
| 2016 | Multi-Criteria Code Refactoring Using Search-Based Software Engineering: An Industrial Case StudyabstractOne of the most widely used techniques to improve the quality of existing software systems is refactoring—the process of improving the design of existing code by changing its internal structure without altering its external behavior. While it is important to suggest refactorings that improve the quality and structure of the system, many other criteria are also important to consider, such as reducing the number of code changes, preserving the semantics of the software design and not only its behavior, and maintaining consistency with the previously applied refactorings. In this article, we propose a multi-objective search-based approach for automating the recommendation of refactorings. The process aims at finding the optimal sequence of refactorings that (i) improves the quality by minimizing the number of design defects, (ii) minimizes code changes required to fix those defects, (iii) preserves design semantics, and (iv) maximizes the consistency with the previously code changes. We evaluated the efficiency of our approach using a benchmark of six open-source systems, 11 different types of refactorings (move method, move field, pull up method, pull up field, push down method, push down field, inline class, move class, extract class, extract method, and extract interface) and six commonly occurring design defect types (blob, spaghetti code, functional decomposition, data class, shotgun surgery, and feature envy) through an empirical study conducted with experts. In addition, we performed an industrial validation of our technique, with 10 software engineers, on a large project provided by our industrial partner. We found that the proposed refactorings succeed in preserving the design coherence of the code, with an acceptable level of code change score while reusing knowledge from recorded refactorings applied in the past to similar contexts. Ali Ouni 0001, Marouane Kessentini, Houari Sahraoui, Katsuro Inoue, Kalyanmoy Deb |
ACM Trans. Softw. Eng. Methodol. | 3 |
| 2016 | Multi-Step Learning and Adaptive Search for Learning Complex Model Transformations from ExamplesabstractModel-driven engineering promotes models as main development artifacts. As several models may be manipulated during the software-development life cycle, model transformations ensure their consistency by automating model generation and update tasks. However, writing model transformations requires much knowledge and effort that detract from their benefits. To address this issue, Model Transformation by Example (MTBE) aims to learn transformation programs from source and target model pairs supplied as examples. In this article, we tackle the fundamental issues that prevent the existing MTBE approaches from efficiently solving the problem of learning model transformations. We show that, when considering complex transformations, the search space is too large to be explored by naive search techniques. We propose an MTBE process to learn complex model transformations by considering three common requirements: element context and state dependencies and complex value derivation. Our process relies on two strategies to reduce the size of the search space and to better explore it, namely, multi-step learning and adaptive search. We experimentally evaluate our approach on seven model transformation problems. The learned transformation programs are able to produce perfect target models in three transformation cases, whereas precision and recall values larger than 90% are recorded for the four remaining cases. Islem Baki, Houari Sahraoui |
ACM Trans. Softw. Eng. Methodol. | 2 |
| 2015 | A Unified Framework for the Comprehension of Software's TimeabstractThe dimension of time in software appears in both program execution and software evolution. Much research has been devoted to the understanding of either program execution or software evolution, but these two research communities have developed tools and solutions exclusively in their respective context. In this paper, we claim that a common comprehension framework should apply to the time dimension of software. We formalize this as a meta-model that we instantiate and apply to the two different comprehension problems. Omar Benomar, Houari Sahraoui, Pierre Poulin |
ICSE (2) | 2 |
| 2015 | Recovering Architectural Variability of a Family of Product Variants
Anas Shatnawi, Abdelhak-Djamel Seriai, Houari Sahraoui |
ICSR | 3 |
| 2015 | Mining Software Components from Object-Oriented APIs
Anas Shatnawi, Abdelhak-Djamel Seriai, Houari Sahraoui, Zakarea Alshara |
ICSR | 3 |
| 2015 | Detection of software evolution phases based on development activitiesabstractSoftware evolution history is usually represented at fine granularity by commits in software repositories, and at coarse granularity by software releases. In order to gain insights on development activities and on software evolution, the information on releases is too general, whereas the information on commits is prohibitively large to be efficiently processed by a developer. This paper proposes an automatic technique for the identification of distinct phases of evolution. Such software evolution phases are characterized by similar development activities in terms of changes to entities. Therefore, our technique decomposes software evolution history to assist developers identify periods of different development activities. Our analysis technique is a search-based optimization of the best decomposition of commits from the software repository using heuristics such as classes changed in each commit, and the magnitude/importance of these changes. To validate our technique, we applied it on the evolution history of five case studies covering multiple releases over several years of development. An interesting outcome of the evaluation is that our automatic decomposition of software evolution history recovered the original decomposition in software releases. Omar Benomar, Hani Abdeen, Houari Sahraoui, Pierre Poulin, Mohamed Aymen Saied |
ICPC | 3 |
| 2015 | Could we infer unordered API usage patterns only using the library source code?abstractLearning to use existing or new software libraries is a difficult task for software developers, which would impede their productivity. Much existing work has provided different techniques to mine API usage patterns from client programs in order to help developers on understanding and using existing libraries. However, considering only client programs to identify API usage patterns is a strong constraint as the client programs source code is not always available or the clients themselves do not exist yet for newly released APIs. In this paper, we propose a technique for mining Non Client-based Usage Patterns (NCBUP miner). We detect unordered API usage patterns as distinct groups of API methods that are structurally and semantically related and thus may contribute together to the implementation of a particular functionality for potential client programs. We evaluated our technique through four APIs. The obtained results are comparable to those of client-based approaches in terms of usage-patterns cohesion. Mohamed Aymen Saied, Hani Abdeen, Omar Benomar, Houari Sahraoui |
ICPC | 4 |
| 2015 | Visualization based API usage patterns refiningabstractLearning to use existing or new software libraries is a difficult task for software developers, which would impede their productivity. Most of existing work provided different techniques to mine API usage patterns from client programs, in order to help developers to understand and use existing libraries. However, considering only client programs to identify API usage patterns, is a strong constraint as collecting several similar client programs for an API is not a trivial task. And even if these clients are available, all the usage scenarios of the API of interest may not be covered by those clients. In this paper, we propose a visualization based approach for the refinement of Client-based Usage Patterns. We first visualize the patterns structure. Then we enrich the patterns with API methods that are semantically related to them, and thus may contribute together to the implementation of a particular functionality for potential client programs. Mohamed Aymen Saied, Omar Benomar, Houari Sahraoui |
VISSOFT | 3 |
| 2015 | Mining Multi-level API Usage PatternsabstractSoftware developers need to cope with complexity of Application Programming Interfaces (APIs) of external libraries or frameworks. However, typical APIs provide several thousands of methods to their client programs, and such large APIs are difficult to learn and use. An API method is generally used within client programs along with other methods of the API of interest. Despite this, co-usage relationships between API methods are often not documented. We propose a technique for mining Multi-Level API Usage Patterns (MLUP) to exhibit the co-usage relationships between methods of the API of interest across interfering usage scenarios. We detect multi-level usage patterns as distinct groups of API methods, where each group is uniformly used across variable client programs, independently of usage contexts. We evaluated our technique through the usage of four APIs having up to 22 client programs per API. For all the studied APIs, our technique was able to detect usage patterns that are, almost all, highly consistent and highly cohesive across a considerable variability of client programs. Mohamed Aymen Saied, Omar Benomar, Hani Abdeen, Houari Sahraoui |
SANER | 4 |
| 2015 | An observational study on API usage constraints and their documentationabstractNowadays, APIs represent the most common reuse form when developing software. However, the reuse benefits depend greatly on the ability of client application developers to use correctly the APIs. In this paper, we present an observational study on the API usage constraints and their documentation. To conduct the study on a large number of APIs, we implemented and validated strategies to automatically detect four types of usage constraints in existing APIs. We observed that some of the constraint types are frequent and that for three types, they are not documented in general. Surprisingly, the absence of documentation is, in general, specific to the constraints and not due to the non documenting habits of developers. Mohamed Aymen Saied, Houari Sahraoui, Bruno Dufour |
SANER | 2 |
| 2015 | Learning dependency-based change impact predictors using independent change histories
Hani Abdeen, Khaled Bali, Houari Sahraoui, Bruno Dufour |
Inf. Softw. Technol. | 3 |
| 2015 | Assessing the use of slicing-based visualizing techniques on the understanding of large metamodels
Arnaud Blouin, Naouel Moha, Benoit Baudry, Houari Sahraoui, Jean-Marc Jézéquel |
Inf. Softw. Technol. | 4 |
| 2015 | Improving multi-objective code-smells correction using development history
Ali Ouni 0001, Marouane Kessentini, Houari Sahraoui, Katsuro Inoue, Mohamed Salah Hamdi |
J. Syst. Softw. | 3 |
| 2015 | Prioritizing code-smells correction tasks using chemical reaction optimization
Ali Ouni 0001, Marouane Kessentini, Slim Bechikh, Houari Sahraoui |
Softw. Qual. J. | 4 |
| 2014 | Enactment of Components Extracted from an Object-Oriented Application
Abderrahmane Seriai, Salah Sadou, Houari Sahraoui |
ECSA | 3 |
| 2014 | Multi-objective optimization in rule-based design space explorationabstractDesign space exploration (DSE) aims to find optimal design candidates of a domain with respect to different objectives where design candidates are constrained by complex structural and numerical restrictions. Rule-based DSE aims to find such candidates that are reachable from an initial model by applying a sequence of exploration rules. Solving a rule-based DSE problem is a difficult challenge due to the inherently dynamic nature of the problem. In the current paper, we propose to integrate multi-objective optimization techniques by using Non-dominated Sorting Genetic Algorithms (NSGA) to drive rule-based design space exploration. For this purpose, finite populations of the most promising design candidates are maintained wrt. different optimization criteria. In our context, individuals of a generation are defined as a sequence of rule applications leading from an initial model to a candidate model. Populations evolve by mutation and crossover operations which manipulate (change, extend or combine) rule execution sequences to yield new individuals. Our multi-objective optimization approach for rule-based DSE is domain independent and it is automated by tooling built on the Eclipse framework. The main added value is to seamlessly lift multi-objective optimization techniques to the exploration process preserving both domain independence and a high-level of abstraction. Design candidates will still be represented as models and the evolution of these models as rule execution sequences. Constraints are captured by model queries while objectives can be derived both from models or rule applications. Hani Abdeen, Dániel Varró, Houari Sahraoui, András Szabolcs Nagy, Csaba Debreceni, Ábel Hegedüs, Ákos Horváth 0001 |
ASE | 3 |
| 2014 | Learning Implicit and Explicit Control in Model Transformations by Example
Islem Baki, Houari Sahraoui, Quentin Cobbaert, Philippe Masson, Martin Faunes |
MoDELS | 2 |
| 2014 | Model Matching for Model Transformation - A Meta-heuristic ApproachabstractInternational audience Hajer Saada, Marianne Huchard, Clémentine Nebut, Houari Sahraoui |
MODELSWARD | 4 |
| 2014 | Detecting Program Execution Phases Using Heuristic Search
Omar Benomar, Houari Sahraoui, Pierre Poulin |
SSBSE | 2 |
| 2014 | Slicing-Based Techniques for Visualizing Large MetamodelsabstractIn model-driven engineering, a model describes an aspect of a system. A model conforms to a metamodel that defines the concepts and relationships of a given domain. Metamodels are thus corner-stones of various meta-modeling activities that require a good understanding of the metamodels or parts of them. Current metamodel editing tools are based on standard visualization and navigation features, such as physical zooms. However, as soon as metamodels become larger, navigating through large metamodels becomes a tedious task that hinders their understanding. In this work, we promote the use of model slicing techniques to build visualization techniques dedicated to metamodels. We propose an approach based on model slicing, inspired from program slicing, to build interactive visualization techniques dedicated to metamodels. These techniques permit users to focus on metamodel elements of interest, which aims at improving the understand ability. This approach is implemented in a metamodel visualizer, called Explen. Arnaud Blouin, Naouel Moha, Benoit Baudry, Houari Sahraoui |
VISSOFT | 4 |
| 2014 | Validation of Software Visualization Tools: A Systematic Mapping StudyabstractSoftware visualization as a research field focuses on the visualization of the structure, behavior, and evolution of software. It studies techniques and methods for graphically representing these different aspects of software. Interest in software visualization has grown in recent years, producing rapid advances in the diversity of research and in the scope of proposed techniques, and aiding the application experts who use these techniques to advance their own research. Despite the importance of evaluating software visualization research, there is little work studying validation methods. As a consequence, it is usually difficult producing compelling evidence about the effectiveness of software visualization contributions. The goal of this paper is to study the validation techniques performed in the software visualization literature. We conducted a systematic mapping study of validation methods in software visualization. We consider 752 articles from multiple sources, published between 2000 and 2012, and study the validation techniques of the software visualization articles. The main outcome of this study is the lack in rigor when validating software visualization tool and techniques. Although software visualization has grown in interest in the last decade, it still lacks the necessary maturity to be properly and thoroughly evaluating its claims. Most article evaluations studied in this paper are qualitative case studies, including discussions about the benefits of the proposed visualizations. The results help understand the needs in software visualization validation techniques. They identify the type of evaluations that should be performed to address this deficiency. The specific analysis of SOFTVIS series articles shows that the specialized conference suffers from the same shortage. Abderrahmane Seriai, Omar Benomar, Benjamin Cerat, Houari Sahraoui |
VISSOFT | 4 |
| 2014 | Deriving Component Interfaces after a Restructuring of a Legacy SystemabstractAlthough 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. Services are grouped together in interfaces that are each implemented by a class. Thus, dependencies between components are defined using the semantic of the enclosed classes, which is mostly structural. This makes it difficult to understand an architecture described with such links. Indeed, at an architectural level dependencies between components must represent functional aspects. This problem is worse, when the components are obtained by re-engineering of legacy OO systems. Indeed, in this case the obtained components are mainly based on the consistency of the grouping logic. So, in this paper we propose an approach to identify the interfaces of a component according to its interactions with the other components. To this end, we use formal concept analysis. The evaluation of the proposed approach via an empirical study showed that the identified interfaces overall correspond to the different functional aspects of the components. Abderrahmane Seriai, Salah Sadou, Houari Sahraoui, Salma Hamza |
WICSA | 3 |
| 2014 | A Cooperative Parallel Search-Based Software Engineering Approach for Code-Smells DetectionabstractWe 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 this end, we used Parallel Evolutionary algorithms (P-EA) where many evolutionary algorithms with different adaptations (fitness functions, solution representations, and change operators) are executed, in a parallel cooperative manner, to solve a common goal which is the detection of code-smells. An empirical evaluation to compare the implementation of our cooperative P-EA approach with random search, two single population-based approaches and two code-smells detection techniques that are not based on meta-heuristics search. The statistical analysis of the obtained results provides evidence to support the claim that cooperative P-EA is more efficient and effective than state of the art detection approaches based on a benchmark of nine large open source systems where more than 85 percent of precision and recall scores are obtained on a variety of eight different types of code-smells. Wael Kessentini, Marouane Kessentini, Houari Sahraoui, Slim Bechikh, Ali Ouni 0001 |
IEEE Trans. Software Eng. | 3 |
| 2013 | Towards Understanding the Behavior of Classes Using Probabilistic Models of Program Inputs
Arbi Bouchoucha, Houari Sahraoui, Pierre L'Ecuyer |
FASE | 2 |
| 2013 | The use of development history in software refactoring using a multi-objective evolutionary algorithmabstractOne 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 finding refactoring opportunities. Code elements which undergo changes in the past, at approximately the same time, bear a good probability for being semantically related. Moreover, these elements that experienced a huge number of refactoring in the past have a good chance for refactoring in the future. In addition, the development history can be used to propose new refactoring solutions in similar contexts. In this paper, we propose a multi-objective optimization-based approach to find the best sequence of refactorings that minimizes the number of bad-smells, and maximizes the use of development history and semantic coherence. To this end, we use the non-dominated sorting genetic algorithm (NSGA-II) to find the best trade-off between these three objectives. We report the results of our experiments using different large open source projects. Ali Ouni 0001, Marouane Kessentini, Houari Sahraoui, Mohamed Salah Hamdi |
GECCO | 3 |
| 2013 | How We Design Interfaces, and How to Assess ItabstractInterfaces 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 has investigated code quality and concrete classes' design, few works have investigated interfaces' design. In this paper, we empirically study interfaces' design and its impact on the design quality of implementing classes (i.e., class cohesion) analyzing twelve Java object-oriented applications. In this study we propose the "Interface-Implementations Model" that we use to adapt class cohesion metrics to assess the cohesion of interfaces based on their implementations. Moreover, we use other metrics that evaluate the conformance of interfaces to the well-known design principles "Program to an Interface, not an implementation" and "Interface Segregation Principle". The results show that software developers abide well by the interface design principles cited above, but they neglect the cohesion property. The results also show that such design practices of interfaces lead to a degraded cohesion of implementing classes, where these latter would be characterized by a worse cohesion than other classes. Hani Abdeen, Houari Sahraoui, Osama Shata |
ICSM | 2 |
| 2013 | Recovering model transformation traces using multi-objective optimizationabstractModel Driven Engineering (MDE) is based on a large set of models that are used and manipulated throughout the development cycle. These models are manually or automatically produced and/or exploited using model transformations. To allow engineers to maintain the models and track their changes, recovering transformation traces is essential. In this paper, we propose an automated approach, based on multi-objective optimization, to recover transformation traces between models. Our approach takes as input a source model in the form of a set of fragments (fragments are defined using the source meta-model cardinalities and OCL constraints), and a target model. The recovered transformation traces take the form of many-to-many mappings between the constructs of the two models. Hajer Saada, Marianne Huchard, Clémentine Nebut, Houari Sahraoui |
ASE | 4 |
| 2013 | Automatically Searching for Metamodel Well-Formedness Rules in Examples and Counter-Examples
Martin Faunes, Juan José Cadavid, Benoit Baudry, Houari Sahraoui, Benoît Combemale |
MoDELS | 4 |
| 2013 | Visualizing software dynamicities with heat mapsabstractInteractive 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 end, we first propose a framework to unify the two main software dynamicities, execution and evolution. Then, this unified framework is exploited to define a visualization environment based on heat maps. We illustrate our approach on two comprehension tasks: understanding the behavior of programmers during the evolution of an application and understanding class contributions in use cases. The case studies show that the heat-map metaphor contributes to answer, more easily, many of the questions important to program comprehension. Omar Benomar, Houari Sahraoui, Pierre Poulin |
VISSOFT | 2 |
| 2013 | Maintainability defects detection and correction: a multi-objective approach
Ali Ouni 0001, Marouane Kessentini, Houari Sahraoui, Mounir Boukadoum |
Autom. Softw. Eng. | 3 |
| 2013 | A formal approach for run-time verification of web applications using scope-extended LTL
May Haydar, Alexandre Petrenko, Sergiy Boroday, Houari Sahraoui |
Inf. Softw. Technol. | 4 |
| 2013 | Automated evaluation of website navigability: an empirical validation of multilevel quality modelsabstractABSTRACT Websites are an important and efficient means of communication for companies wishing to interact with their clients. Therefore, research has focused on evaluating how websites should be structured to ensure their quality. The majority of this research has focused on evaluating the quality of individual pages or that of a site as a whole. In this article, we propose the use of two‐level models that combine evaluations at the page level with evaluations at the site level, and applied them to the problem of evaluating the navigability of websites. To test our models, we conducted a study with 21 subjects who had to complete navigation tasks on several websites, and compared their quality judgments to those produced by single and two‐level quality models. We found that two‐level models are better predictors of navigability. Finally, we show how two‐level models are able to suggest modifications to improve site navigability. Copyright © 2012 John Wiley & Sons, Ltd. Stéphane Vaucher, Antoine Moulart, Houari Sahraoui, Naji Habra |
J. Softw. Evol. Process. | 3 |
| 2012 | Vasco: A visual approach to explore object churn in framework-intensive applicationsabstractBloat, 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 task, despite recent advances in automated analysis techniques. We present an interactive visualization approach designed to help developers quickly and intuitively explore the behavior of their application with respect to object churn. We have implemented this technique in Vasco, a new flexible and scalable visualization platform. Vasco is designed to minimize the cognitive effort required for the visualization task. We demonstrate the effectiveness of our approach by applying it to three framework-intensive applications and identifying previously unreported churn in a commercial system. Fleur Duseau, Bruno Dufour, Houari Sahraoui |
ICSM | 3 |
| 2012 | Search-based refactoring: Towards semantics preservationabstractRefactoring 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 syntactically correct, have the right behavior, but model incorrectly the domain semantics. In this paper, we propose a multi-objective optimization approach to find the best sequence of refactorings that maximizes quality improvements (program structure) and minimizes semantic errors. To this end, we use the non-dominated sorting genetic algorithm (NSGA-II) to find the best compromise between these two conflicting objectives. We report the results of our experiments on different open source projects. Ali Ouni 0001, Marouane Kessentini, Houari Sahraoui, Mohamed Salah Hamdi |
ICSM | 3 |
| 2012 | Searching the Boundaries of a Modeling Space to Test MetamodelsabstractModel-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 operations on models (e.g., model refinement). In all cases, a metamodel is a finite description of a possibly infinite set of models, i.e. the set of all models which structure conforms to the description specified in the metamodel. However, there is currently no systematic method to test that a metamodel captures all the correct models of the domain and no more. In this paper, we focus on the automatic selection of a set of models in the modeling space captured by a metamodel. The selected set should both cover as many representative situations as possible and be kept small as possible for further manual analysis. We use simulated annealing to select a set of models that satisfies those two objectives and report on results using two metamodels from two different domains. Juan José Cadavid, Benoit Baudry, Houari Sahraoui |
ICST | 3 |
| 2012 | Generating model transformation rules from examples using an evolutionary algorithmabstractWe 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., models conforming to meta-models) by generating declarative programs (i.e., transformation rules in this case). Our approach does not rely on prior transformation traces for the model-example pairs, and directly generates executable, many-to-many rules with complex conditions. The applicability of the approach is illustrated with the well-known problem of transforming UML class diagrams into relational schemas, using examples collected from the literature. Martin Faunes, Houari Sahraoui, Mounir Boukadoum |
ASE | 2 |
| 2012 | Generation of Operational Transformation Rules from Examples of Model Transformations
Hajer Saada, Xavier Dolques, Marianne Huchard, Clémentine Nebut, Houari Sahraoui |
MoDELS | 5 |
| 2012 | Search-based model transformation by example
Marouane Kessentini, Houari Sahraoui, Mounir Boukadoum, Omar Benomar |
Softw. Syst. Model. | 2 |
| 2011 | How Good is Your Comment? A Study of Comments in Java ProgramsabstractComments 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 code have been the focus of several studies, but none of them was targeted at analyzing commenting habits precisely. In this paper, we present an empirical study which analyzes existing comments in different open source Java projects. We study comments from both a quantitative and a qualitative point of view. We propose a taxonomy of comments that we used for conducting our analysis. Dorsaf Haouari, Houari Sahraoui, Philippe Langlais |
ESEM | 2 |
| 2011 | Search-Based Design Defects Detection by Example
Marouane Kessentini, Houari Sahraoui, Mounir Boukadoum, Manuel Wimmer |
FASE | 2 |
| 2011 | Design Defects Detection and Correction by ExampleabstractDetecting 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. Marouane Kessentini, Wael Kessentini, Houari Sahraoui, Mounir Boukadoum, Ali Ouni 0001 |
ICPC | 3 |
| 2011 | What You See is What You Asked for: An Effort-Based Transformation of Code Analysis Tasks into Interactive Visualization ScenariosabstractWe 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 visualization tool to perform the analysis task, and select the scenario that requires the least effort from the analyst. Our approach was applied successfully to various analysis tasks such as design defect detection and feature location. Ahmed Sfayhi, Houari Sahraoui |
SCAM | 2 |
| 2011 | From Object-Oriented Applications to Component-Oriented Applications via Component-Oriented ArchitectureabstractObject-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 projection space well-structured and of highest level for a better understanding through abstract architectural views. But it is possible to go further. It may also be the ultimate target of a complete process of re engineering. The end-to-end automation of this process is a subject on which literature has made very little attention. In this paper, we propose such a method to automatically transform an object-oriented application in an operational component-oriented application. We illustrate this method on a real Java application which is transformed in an operational OSGi application. Simon Allier, Salah Sadou, Houari Sahraoui, Régis Fleurquin |
WICSA | 3 |
| 2011 | Example-based model-transformation testing
Marouane Kessentini, Houari Sahraoui, Mounir Boukadoum |
Autom. Softw. Eng. | 2 |
| 2011 | BDTEX: A GQM-based Bayesian approach for the detection of antipatterns
Foutse Khomh, Stéphane Vaucher, Yann-Gaël Guéhéneuc, Houari Sahraoui |
J. Syst. Softw. | 4 |
| 2010 | Example-Based Sequence Diagrams to Colored Petri Nets Transformation Using Heuristic Search
Marouane Kessentini, Arbi Bouchoucha, Houari Sahraoui, Mounir Boukadoum |
ECMFA | 3 |
| 2010 | Deviance from perfection is a better criterion than closeness to evil when identifying risky codeabstractWe propose an approach for the automatic detection of potential design defects in code. The detection is based on the notion that the more code deviates from good practices, the more likely it is bad. Taking inspiration from artificial immune systems, we generated a set of detectors that characterize different ways that a code can diverge from good practices. We then used these detectors to measure how far code in assessed systems deviates from normality. Marouane Kessentini, Stéphane Vaucher, Houari Sahraoui |
ASE | 3 |
| 2010 | Deriving Coupling Metrics from Call GraphsabstractCoupling 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 source code. However, modern programs extensively use dynamic language features such as polymorphism and dynamic class loading that are difficult to capture by static analysis. Consequently, the derived metric values might not accurately reflect the state of a program. In this paper, we express existing definitions of coupling metrics using call graphs. We then compare the results of four different call graph construction algorithms with standard tool implementations of these metrics in an empirical study. Our results show important variations in coupling between standard and call graph-based calculations due to the support of dynamic features. Simon Allier, Stéphane Vaucher, Bruno Dufour, Houari Sahraoui |
SCAM | 4 |
| 2010 | Investigating the impact of a measurement program on software quality
Houari Sahraoui, Lionel C. Briand, Yann-Gaël Guéhéneuc, Olivier Beaurepaire |
Inf. Softw. Technol. | 1 |
| 2010 | Improving design-pattern identification: a new approach and an exploratory study
Yann-Gaël Guéhéneuc, Jean-Yves Guyomarc'h, Houari Sahraoui |
Softw. Qual. J. | 3 |
| 2010 | Modeling web quality using a probabilistic approach: An empirical validationabstractWeb-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. Considering these factors and their interaction involves managing uncertainty and subjectivity inherent to this kind of applications. In this article, we present a probabilistic approach for building Web quality models and the associated assessment method. The proposed approach is based on Bayesian Networks. A model is built following a four-step process consisting in collecting quality characteristics, refining them, building a model structure, and deriving the model parameters. The feasibility of the approach is illustrated on the important quality characteristic of Navigability design . To validate the produced model, we conducted an experimental study with 20 subjects and 40 web pages. The results obtained show that the scores given by the used model are strongly correlated with navigability as perceived and experienced by the users. Ghazwa Malak, Houari Sahraoui, Linda Badri, Mourad Badri |
ACM Trans. Web | 2 |
| 2009 | Understanding the use of inheritance with visual patternsabstractThe 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 across classes while preserving the essential relationship between parent and children classes. We explain how standard inheritance metrics are mapped into our visualization. Additionally, we define a new metric characterizing similar children classes. Using these metrics and the proposed layout, a set of common visual patterns is derived. These patterns allow the programmer to quickly understand how inheritance is used and provide answers to some essential questions when performing program comprehension tasks. Our approach is evaluated through a case study that involves examples from large programs, demonstrating its scalability. Simon Denier, Houari Sahraoui |
ESEM | 2 |
| 2009 | Impact of the visitor pattern on program comprehension and maintenanceabstractIn 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 developers' tasks of program comprehension and modification. We design and perform an experiment to collect data on the impact of the visitor pattern on comprehension and modification tasks with class diagrams. We use an eye-tracker to register saccades and fixations, the latter representing the focus of the developers' attention. Collected data show that the visitor pattern plays a role in maintenance tasks: class diagrams with its canonical representation requires less efforts from developers. Sebastien Jeanmart, Yann-Gaël Guéhéneuc, Houari Sahraoui, Naji Habra |
ESEM | 3 |
| 2009 | A Metric Extraction Framework Based on a High-Level Description LanguageabstractNowadays, 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 extended only by modifying third-party code. Moreover, metric specifications often lack precision, which leads to implementations that do not correspond necessarily to userspsila expectations. In this paper, we propose a flexible approach for metric collection based on a metric description language that allows manipulating basic data extracted from the code. These data are mapped to a generic object-oriented meta-model that is language agnostic. This makes it easy to focus on the metric specification rather than language specific constructs. Metric specifications are interpreted automatically to extract their corresponding values for a target program. El Hachemi Alikacem, Houari Sahraoui |
SCAM | 2 |
| 2009 | Predicting Maintainability expressed as Change Impact: A Machine-learning-based Approach
Hakim Lounis, M. K. Abdi, Houari Sahraoui |
SEKE | 3 |
| 2009 | Recommending Improvements to Web Applications Using Quality-Driven Heuristic Search
Stéphane Vaucher, Samuel Boclinville, Houari Sahraoui, Naji Habra |
WISE | 3 |
| 2008 | Specification Patterns for Formal Web VerificationabstractQuality 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 mathematical foundations, including temporal logics. Specifying properties using temporal logic is often complicated even to experts, while it is a daunting and error prone task for non-expert users. To assist web developers and testers in formally specifying web related properties, we elaborate a library of web specification patterns. The current version of the library of 119 functional and non-functional patterns is a result of scrutinizing various resources in the field of quality assurance of Web Applications, which characterize successful web application using a set of standardized attributes. May Haydar, Houari Sahraoui, Alexandre Petrenko |
ICWE | 2 |
| 2008 | Model Transformation as an Optimization Problem
Marouane Kessentini, Houari Sahraoui, Mounir Boukadoum |
MoDELS | 2 |
| 2008 | Exploring the evolution of software quality with animated visualizationabstractAssessing 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 time-consuming, if not overwhelming, to be applicable in general. To address this problem, we designed a visualization framework as a semi-automatic approach to quickly investigate programs composed of thousands of classes, over dozens of versions. Programs and their associated quality characteristics for each version are graphically represented and displayed independently. Real-time navigation and animation between these representations recreate visual coherences often associated with coherences intrinsic to subsequent software versions. Exploiting such coherences can reduce cognitive gaps between the different views of software, and allows human experts to use their visual capacity and intuition to efficiently investigate and understand various quality aspects of software evolution. To illustrate the interest of our framework, we report our results on two case studies. Guillaume Langelier, Houari Sahraoui, Pierre Poulin |
VL/HCC | 2 |
| 2008 | Empirical studies to assess the understandability of data warehouse schemas using structural metrics
Manuel A. Serrano, Coral Calero, Houari Sahraoui, Mario Piattini |
Softw. Qual. J. | 3 |
| 2006 | Concerned About Separation
Hafedh Mili, Houari Sahraoui, Hakim Lounis, Hamid Mcheick, Amal Elkharraz |
FASE | 2 |
| 2006 | Simulated annealing for improving software quality predictionabstractIn 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 form a model with an optimal predictive accuracy. Since, in general, there will be several experts available and each expert will provide his expertise, the problem can be reformulated as an optimization and search problem in a large space of solutions.We present how the general problem of combining quality experts, modeled as Bayesian classifiers, can be tackled via a simulated annealing algorithm customization. The general approach was applied to build an expert predicting object-oriented software stability, a facet of software quality. Our findings demonstrate that, on available data, composed expert predictive accuracy outperforms the best available expert and it compares favorably with the expert build via a customized genetic algorithm. Salah Bouktif, Houari Sahraoui, Giuliano Antoniol |
GECCO | 2 |
| 2006 | Modeling Web-Based Applications Quality: A Probabilistic Approach
Ghazwa Malak, Houari Sahraoui, Linda Badri, Mourad Badri |
WISE | 2 |
| 2005 | Accommodating Software Development CollaborationabstractWith 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 orchestration. It involves many people working together without the barrier of time and space difference. Therefore, how to efficiently monitor and control software e-development in a global perspective becomes an important issue for any Internet-based software e-development project. In this paper, we present a novel approach to tackle this crucial issue by means of controlling e-development process, collaborative task progress and communication quality. Meanwhile, we also present our e-development supporting environment prototype: Caribou, to demonstrate the viability of our approach. Lei Wu 0001, Houari Sahraoui |
APSEC | 2 |
| 2005 | Coping with Legacy System Migration ComplexityabstractDuring 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, the high level of entropy combined with imprecise documentation about the design and architecture make the maintenance more difficult, time consuming, and costly. On the other hand, these systems have important economical value; many of them are crucial to their owners (Bennett, 1995). For the high cost of lost former investment and business knowledge that embedded in those systems, in many cases, simply abandon legacy systems and re-develop new systems based on new technology is not the choice. Migrating legacy system toward new emerging technology is an appropriate solution. However, migrating legacy system towards new technology is a complex system engineering work. In this paper, we propose a novel approach to reduce the migration complexity. We apply dynamic program analysis, software visualization, knowledge recovery, and divide-and-conquer techniques to cope with the complexity issue in legacy software migration project. Lei Wu 0001, Houari Sahraoui, Petko Valtchev |
ICECCS | 2 |
| 2005 | A QoS Broker Based Architecture for Efficient Web Services SelectionabstractQuality 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. Mohamed Adel Serhani, Rachida Dssouli, Abdelhakim Hafid, Houari Sahraoui |
ICWS | 4 |
| 2005 | Properties and scopes in web model checkingabstractWe consider a formal framework for property verification of web applications using Spin model checker. Some of the web related properties concern all states of the model, while others - only a proper subset of them. To be able to discriminate states of interest in the state space, we solve the problem of property specification in LTL over a subset of states of a system under test while ignoring the valuation of the properties in the rest of them. We introduce specialized operators that facilitate specifying properties over propositional scopes, where each scope constitutes a subset of states that satisfy a propositional logic formula. Using the proposed operators, the user can specify web properties more concisely and intuitively. We illustrate the proposed solution in specifying properties of web applications and discuss other potential applications. May Haydar, Sergiy Boroday, Alexandre Petrenko, Houari Sahraoui |
ASE | 4 |
| 2005 | Visualization-based analysis of quality for large-scale software systemsabstractWe 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. Guillaume Langelier, Houari Sahraoui, Pierre Poulin |
ASE | 2 |
| 2004 | Automatic Detecting Code CooperationabstractSoftware 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 collaboration design information is dispersed at the implementation level. The extraction of code artifacts' collaborations and the roles is therefore an important support in legacy software comprehension and design recovery. In this paper, we present a novel approach to automatically detect and analyze code collaborations and roles based on dynamic program analysis technique. We also demonstrate the tools that we have developed to support our approach and illustrate the viability of our approach in a case study. Lei Wu 0001, Houari Sahraoui, Petko Valtchev |
APSEC | 2 |
| 2004 | Formal Verification of Web Applications Modeled by Communicating Automata
May Haydar, Alexandre Petrenko, Houari Sahraoui |
FORTE | 3 |
| 2004 | Supporting Web Collaboration for Cooperative Software DevelopmentabstractWith 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 the barrier of time and space difference. Therefore, how to efficiently monitor and control web collaboration activity becomes a critical issue in a web-based collaborative software development project. In this paper, we present a novel approach to tackle this difficult problem by means of monitoring collaboration task progress. In addition, we also provide solutions to automate the dynamic control of cooperation, thus to improve the web collaboration performance. Lei Wu 0001, Houari Sahraoui |
Web Intelligence | 2 |
| 2002 | A Fuzzy Logic Framework to Improve the Performance and Interpretation of Rule-Based Quality Prediction Models for OO SoftwareabstractCurrent 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 interesting solution to this problem. This paper describes an original approach to build rule-based predictive models that are based on fuzzy logic and that enhance the performance of classical decision trees. The approach also attempts to bridge the cognitive gap that may exist between the antecedent and the consequent of a rule by turning the latter into a chain of sub rules that account for domain knowledge. The whole framework is evaluated on a set of OO applications. Houari Sahraoui, Mounir Boukadoum, Hassan M. Chawiche, Gang Mai, Mohamed Adel Serhani |
COMPSAC | 1 |
| 2002 | Object Identification in Legacy Code as a Grouping ProblemabstractMaintenance 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 out, however, the cost and the complexity of the task may dissuade the decision-makers. As a contribution to the automation, complete or partial, of the migration process, this paper presents two algorithms for identifying objects in procedural code, a task which is crucial within the entire process. The suggested algorithms are experimentally evaluated, using the examples of three existing systems. Houari Sahraoui, Petko Valtchev, Idrissa Konkobo, Shiqiang Shen |
COMPSAC | 1 |
| 2002 | Combining Software Quality Predictive Models: An Evolutionary ApproachabstractDuring the last 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 to generalize, cross-validate, and reuse existing models. As a consequence, for a company, selecting an appropriate quality model is a difficult, non-trivial decision. In this paper, we propose a general approach and a particular solution to this problem. The main idea is to combine and adapt existing models (experts) in such a way that the combined model works well on the particular system or in the particular type of organization. In our particular solution, the experts are assumed to be decision tree or rule-based classifiers and the combination is done by a genetic algorithm. The result is a white-box model: for each software component, not only does the model give a prediction of the software quality factor, it also provides the expert that was used to obtain the prediction. Test results indicate that the proposed model performs significantly better than individual experts in the pool. Salah Bouktif, Houari Sahraoui, Balázs Kégl |
ICSM | 2 |
| 2002 | Combining and Adapting Software Quality Predictive Models by Genetic AlgorithmsabstractThe 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 adapt existing models (experts) in such way that the combined/adapted model works well on the particular system. Test results indicate that the models perform significantly better than individual experts in the pool. Danielle Azar, Doina Precup, Salah Bouktif, Balázs Kégl, Houari Sahraoui |
ASE | 5 |
| 2002 | Predicting Software Stability Using Case-Based ReasoningabstractPredicting 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. We present a novel approach which relies on the case-based reasoning (CBR) paradigm. Thus, to predict the chances of an OO software item breaking downward compatibility, our method uses knowledge of past evolution extracted from different software versions. A comparison of our similarity-based approach to a classical inductive method such as decision trees, is presented which includes various tests on large datasets from existing software. David Grosser, Houari Sahraoui, Petko Valtchev |
ASE | 2 |
| 2001 | Estimating Object-Relational Database Understandability Using Structural Metrics
Coral Calero, Houari Sahraoui, Mario Piattini, Hakim Lounis |
DEXA | 2 |
| 2000 | Predicting class libraries interface evolution: an investigation into machine learning approachesabstractManaging the evolution of an OO system constitutes a complex and resource-consuming task. This is particularly true for reusable class libraries since the user interface must be preserved for version compatibility. Thus, the symptomatic detection of potential instabilities during the design phase of such libraries may help avoid later problems. This paper introduces a fuzzy logic-based approach for evaluating the stability of a reusable class library interface, using structural metrics as stability indicators. To evaluate this new approach, we conducted a preliminary study on a set of commercial C++ class libraries. The obtained results are very promising when compared to those of two classical machine learning approaches, top down induction of decision trees and Bayesian classifiers. Houari Sahraoui, Mounir Boukadoum, Hakim Lounis, Frédéric Ethève |
APSEC | 1 |
| 2000 | Can Metrics Help to Bridge the Gap between the Improvement of OO Design Quality and its Automation?abstractDuring the evolution of object-oriented (OO) systems, the preservation of a correct design should be a permanent quest. However, for systems involving a large number of classes and that are subject to frequent modifications, the detection and correction of design flaws may be a complex and resource-consuming task. The use of automatic detection and correction tools can be helpful for this task. Various works have proposed transformations that improve the quality of an OO system while preserving its behavior. In this paper, we investigate whether some OO metrics can be used as indicators for automatically detecting situations where a particular transformation can be applied to improve the quality of a system. The detection process is based on analyzing the impact of various transformations on these OO metrics using quality estimation models. Houari Sahraoui, Robert Godin, Thierry Miceli |
ICSM | 1 |
| 2000 | Towards the Automatic Assessment of Evolvability for Reusable Class LibrariesabstractMany 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 symptomatic detection of potential instabilities during the design phase of such libraries may serve to avoid later problems. This paper presents a fuzzy logic-based approach for evaluating the interface stability of a reusable class library, by using structural metrics as stability indicators. Houari Sahraoui, Hakim Lounis, Mounir Boukadoum, Frédéric Ethève |
ASE | 1 |
| 1999 | A Metric Based Technique for Design Flaws Detection and CorrectionabstractDuring the evolution of object-oriented (OO) systems, the preservation of correct design should be a permanent quest. However, for systems involving a large number of classes and which are subject to frequent modifications, the detection and correction of design flaws may be a complex and resource-consuming task. Automating the detection and correction of design flaws is a good solution to this problem. Various authors have proposed transformations that improve the quality of an OO system while preserving its behavior. In this paper, we propose a technique for automatically detecting situations where a particular transformation can be applied to improve the quality of a system. The detection process is based on analyzing the impact of various transformations on software metrics using quality estimation models. Thierry Miceli, Houari Sahraoui, Robert Godin |
ASE | 2 |
| 1999 | A Concept Formation Based Approach to Object Identification in Procedural Code
Houari Sahraoui, Hakim Lounis, Walcélio L. Melo, Hafedh Mili |
Autom. Softw. Eng. | 1 |
| 1998 | Reusability Hypothesis Verification using Machine Learning Techniques: A Case StudyabstractSince the emergence of object technology, organizations have accumulated a tremendous amount of object-oriented (OO) code. Instead of continuing to recreate components that are similar to existing artifacts, and considering the rising costs of development, many organizations would like to decrease software development costs and cycle time by reusing existing OO components. This paper proposes an experiment to verify three hypotheses about the impact of three internal characteristics (inheritance, coupling and complexity) of OO applications on reusability. This verification is done through a machine learning approach (the C4.5 algorithm and a windowing technique). Two kinds of results are produced: (1) for each hypothesis (characteristic), a predictive model is built using a set of metrics derived from this characteristic; and (2) for each predictive model, we measure its completeness, correctness and global accuracy. Yida Mao, Houari Sahraoui, Hakim Lounis |
ASE | 2 |
| 1998 | Migrating to an Object-Oriented Database Using Semantic Clustering and Transformation Rules
Rokia Missaoui, Robert Godin, Houari Sahraoui |
Data Knowl. Eng. | 3 |
| 1997 | Applying Concept Formation Methods to Object Identification in Procedural CodeabstractLegacy software systems present a high level of entropy combined with imprecise documentation. This makes their maintenance more difficult, more time consuming, and costlier. In order to address these issues, many organizations have been migrating their legacy systems to new technologies. In this paper, we describe a computer-supported approach aimed at supporting the migration of procedural software systems to the object-oriented (OO) technology, which supposedly fosters reusability, expandability, flexibility, encapsulation, information hiding, modularity, and maintainability. Our approach relies heavily on the automatic formation of concepts based on information extracted directly from code to identify objects. The approach tends, thus, to minimize the need for domain application experts. We also propose rules for the identification of OO methods from routines. A well known and self-contained example is used to illustrate the approach. We have applied the approach on medium/large procedural software systems, and the results show that the approach is able to find objects and to identify their methods from procedures and functions. Houari Sahraoui, Walcélio L. Melo, Hakim Lounis, F. Dumont |
ASE | 1 |