Network


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

Hotspot


Dive into the research topics where Mehdi Amoui is active.

Publication


Featured researches published by Mehdi Amoui.


Journal of Systems and Software | 2012

Achieving dynamic adaptation via management and interpretation of runtime models

Mehdi Amoui; Mahdi Derakhshanmanesh; Jürgen Ebert; Ladan Tahvildari

In this article, we present a generic model-centric approach for realizing fine-grained dynamic adaptation in software systems by managing and interpreting graph-based models of software at runtime. We implemented this approach as the Graph-based Runtime Adaptation Framework (GRAF), which is particularly tailored to facilitate and simplify the process of evolving and adapting current software towards runtime adaptivity. As a proof of concept, we present case study results that show how to achieve runtime adaptivity with GRAF and sketch the frameworks capabilities for facilitating the evolution of real-world applications towards self-adaptive software. The case studies also provide some details of the GRAF implementation and examine the usability and performance of the approach.


software engineering for adaptive and self managing systems | 2011

GRAF: graph-based runtime adaptation framework

Mahdi Derakhshanmanesh; Mehdi Amoui; Greg O'Grady; Jürgen Ebert; Ladan Tahvildari

One approach for achieving runtime adaptability in software is to use application frameworks that are tailored for the development of self-adaptive systems. In this paper, we present the Graph-based Runtime Adaptation Framework (GRAF), which enables adaptivity by creating, managing, and interpreting graph-based models of software at runtime. Having a generic graph representation in our approach allows for flexible adaptation via query and transformation operations. The framework is especially suited for the migration of legacy applications towards adaptive software and attempts to reduce necessary changes to the original software. As a proof of concept, we conduct a comprehensive case study of migrating the legacy game Jake2 to achieve runtime adaptivity using GRAF.


International Journal of Software Engineering and Knowledge Engineering | 2009

TEMPORAL SOFTWARE CHANGE PREDICTION USING NEURAL NETWORKS

Mehdi Amoui; Mazeiar Salehie; Ladan Tahvildari

Predicting changes in software entities (e.g. source files) that are more likely to change can help in the efficient allocation of the project resources. A powerful change prediction tool can impro...


conference on software maintenance and reengineering | 2011

Software Evolution towards Model-Centric Runtime Adaptivity

Mehdi Amoui; Mahdi Derakhshanmanesh; Jürgen Ebert; Ladan Tahvildari

Runtime adaptivity is a promising direction towards achieving adaptive behavior for software systems that operate within highly dynamic and non-deterministic environments. Model-centric approaches have proven to be able to successfully address various aspects of runtime adaptivity. In this paper, we propose a target architecture for self-adaptive software systems and show how it facilitates adaptation by interpreting models at runtime. Our approach supports adaptivity using models, which are causally connected to the software application. These models can be queried and transformed dynamically in reaction to changes in the software systems operating environment. We demonstrate how to implement an infrastructure to support the target architecture, and how to prepare and integrate non-adaptive software to comply with this architecture.


mining software repositories | 2013

Search-based duplicate defect detection: An industrial experience

Mehdi Amoui; Nilam Kaushik; Abraham Al-Dabbagh; Ladan Tahvildari; Shimin Li; Weining Liu

Duplicate defects put extra overheads on software organizations, as the cost and effort of managing duplicate defects are mainly redundant. Due to the use of natural language and various ways to describe a defect, it is usually hard to investigate duplicate defects automatically. This problem is more severe in large software organizations with huge defect repositories and massive number of defect reporters. Ideally, an efficient tool should prevent duplicate reports from reaching developers by automatically detecting and/or filtering duplicates. It also should be able to offer defect triagers a list of top-N similar bug reports and allow them to compare the similarity of incoming bug reports with the suggested duplicates. This demand has motivated us to design and develop a search-based duplicate bug detection framework at BlackBerry. The approach follows a generalized process model to evaluate and tune the performance of the system in a systematic way. We have applied the framework on software projects at BlackBerry, in addition to the Mozilla defect repository. The experimental results exhibit the performance of the developed framework and highlight the high impact of parameter tuning on its performance.


high assurance systems engineering | 2015

Strategy-Aware Mitigation Using Markov Games for Dynamic Application-Layer Attacks

Mahsa Emami-Taba; Mehdi Amoui; Ladan Tahvildari

Targeted and destructive nature of strategies used by attackers to break down the system require mitigation approaches with dynamic awareness. In the domain of adaptive software security, the adaptation manager of a self-protecting software is responsible for selecting countermeasures to prevent or mitigate attacks immediately. Making a right decision in each and every situation is one of the most challenging aspects of engineering self-protecting software systems. Inspired by the game theory, in this research work, we model the interactions between the attacker and the adaptation manager as a two-player zero-sum Markov game. Using this game-theoretic approach, the adaptation manager can refine its strategies in dynamic attack scenarios by utilizing what has learned from the systems and adversarys actions. We also present how this approach can be fitted to the well-known MAPE-K architecture model. As a proof of concept, this research conducts a study on a case of dynamic application-layer denial of service attacks. The simulation results demonstrate how our approach performs while encountering different attack strategies.


working conference on reverse engineering | 2009

Evolving Software Systems Towards Adaptability

Mehdi Amoui

The increasing demand for autonomic computing calls for modernizing existing software into self-adaptive ones. However, evolving legacy software to cover adaptive behaviors is a risky and error-prone task due to the extensive changes it requires in the majority cases. The focus of this research is to propose a cost-efficient systematic approach for evolving software according to adaptation requirements. The novelty of this research is a new evolution process to assist with adding adaptive features to an existing software. Such a process includes unique properties and novel concepts of self-adaptive software, namely: a co-evolutionary model of self-adaptive software, and primitive effecting operations. Our proposed approach formulates the problem of defining software specifications as an optimization problem of finding a mapping from goal/action models to a set of primitive operations that can be added to the original software by a set of transformations.


international conference on software testing verification and validation | 2013

Defect Prioritization in the Software Industry: Challenges and Opportunities

Nilam Kaushik; Mehdi Amoui; Ladan Tahvildari; Weining Liu; Shimin Li

Defect prioritization is a decision making process wherein stakeholders determine the temporal order of open defects to be fixed. It is critical to the software development lifecycle as the decisions made during this process directly affect release planning, resource management, and maintenance costs. In fact, defect prioritization is complex as many factors need to be taken into consideration and the decisions made can be subjective or incorporate inherent knowledge and intuition of decision makers. We believe that managing the complexities of the decision making process can provide valuable support and help in uncovering any inconsistencies in the interpretation of criteria to prioritize defects. In this paper, we explore the defect triaging process in Research In Motion to gain a better understanding of the shortcomings and challenges of the current practices. Based on our findings, we sketch some research directions to improve industrial software defect prioritization.


international conference on program comprehension | 2010

Towards Developing a Meta-model for Comprehending Software Adaptability

Mehdi Amoui; Sen Li; Edson A. Oliveira; Ladan Tahvildari

To modernize legacy software into adaptable software, a program understanding procedure is needed to study software for identifying the mechanisms that support adaptability. Though the procedure can benefit from modeling techniques, current software meta-models do not fully support particular aspects of software adaptability. The goal of this research is to develop a meta-model, which facilitate comprehending applications for adaptability by annotating a set of pre-determined adaptability factors in software models. To this end, we investigate application-level sensing and effecting mechanisms, identify the core adaptability factors, and propose a meta-model for adaptability.


Archive | 2006

A Genetic Algorithm Approach to Design Evolution Using Design Pattern Transformation

Mehdi Amoui; Siavash Mirarab; Sepand Ansari; Caro Lucas

Collaboration


Dive into the Mehdi Amoui's collaboration.

Top Co-Authors

Avatar
Top Co-Authors

Avatar

Jürgen Ebert

University of Koblenz and Landau

View shared research outputs
Top Co-Authors

Avatar

Mahdi Derakhshanmanesh

University of Koblenz and Landau

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Shimin Li

University of Waterloo

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Researchain Logo
Decentralizing Knowledge