Nora Bounour

Nora Bounour
Badji Mokhtar - Annaba University | UBMA · Département d'informatique

Doctor

About

44
Publications
3,789
Reads
How we measure 'reads'
A 'read' is counted each time someone views a publication summary (such as the title, abstract, and list of authors), clicks on a figure, or views or downloads the full-text. Learn more
94
Citations
Citations since 2017
11 Research Items
52 Citations
2017201820192020202120222023024681012
2017201820192020202120222023024681012
2017201820192020202120222023024681012
2017201820192020202120222023024681012
Introduction
Dr Nora Bounour is presently working in the department of computer science at the University of Badji Mokhtar -Annaba (UBMA), Algeria as associate professor. She is the head of the research group on reengineering and evolution of software systems at the Laboratory of complex system engineering (LISCO). Her research interests include software evolution and reverse engineering methodologies, aspect oriented programming, assistance of software maintenance by using Artificial intelligence techniques.
Additional affiliations
December 1996 - October 2016
Badji Mokhtar - Annaba University
Position
  • Researcher

Publications

Publications (44)
Article
Full-text available
As a swarm-based optimization heuristic, the Ant System (AS) was proposed to deal with the Traveling Salesman Problem (TSP). Classifified as a constructive approach, AS was inspired by the ants’ social behavior.In Practice, its implementation reveals three basic variants that exploit two operating models: a fifirst “natural” model, where ants move...
Conference Paper
Discussions concerning mobile applications development are growing significantly in the recent years in questions and answers websites such as Stack Overflow (SO). Developers commonly resort to Stack Overflow to solve their technical issues and seek professional help. In this paper, we aim to analyze developers’ discussions about Android APIs in or...
Conference Paper
In Model-driven engineering (MDE), models constitute the basis source of information to specify and automatically generate an executable system. The evolution history analysis of software system models helps us to discover interesting logical couplings between its artifacts; which is not possible with the analysis of a single version of the model....
Chapter
Since the emergence of term “Ontology” in the philosophical sphere, its application is widespread in multiplicity of research fields. In software engineering ontologies were adopted more than two decades ago, including requirements analysis, specification and design phases. Unfortunately, this vivacity and richness in software engineering is not th...
Article
Full-text available
Software maintainability is one of the most important aspects when evaluating the quality of a software product. It is defined as the ease with which the existing software can be modified. In the literature, several researchers have proposed a large number of models to measure and predict maintainability throughout different phases of the Software...
Article
Full-text available
Nowadays bio-inspired approaches are widely used. Some of them became paradigms in many domains, such as Ant Colony Optimization (ACO) and Genetic Algorithms (GA). Despite the inherent challenges of surviving, in the natural world, biological organisms evolve, self-organize and self-repair with only local knowledge and without any centralized contr...
Article
Ant Colony Optimization (ACO) is a meta-heuristic that was first used for symmetric Traveling Salesman Problem (TSP), but is now used for various NP-hard discrete Combinatorial Optimization Problems (COP). An Ant System (AS) or merely Ant Algorithm (AA) uses a population-based approach which is a particular Distributed Artificial Intelligence (DAI)...
Article
Ant Colony Optimization (ACO) is a meta-heuristic that was first used for symmetric Traveling Salesman Problem (TSP), but is now used for various NP-hard discrete Combinatorial Optimization Problems (COP). An Ant System (AS) or merely Ant Algorithm (AA) uses a population-based approach which is a particular Distributed Artificial Intelligence (DAI)...
Article
Evolution is inherent in software systems because of the rapid improvement of technologies. As metamodels are the cornerstone of model driven engineering and they evolve iteratively, their evolution affects the rest of artefacts involved in a development process, e.g., models or transformation rules. Therefore, co-evolution tools for models and oth...
Article
Software is evolutionary in nature. From the time a software product is defined until it is no longer used, it changes. We focus in this paper on the aspect-oriented (AO) software evolution. Although AO software engineering is the subject of ongoing research, AO software evolution has received less attention. AO programming is a mature technology t...
Article
The existence of crosscutting concerns scattered or tangled in the source code complicates the software comprehension, maintenance, evolution and reuse. To improve the modularity of software systems, several approaches aimed to identify the crosscutting concerns to allow their modelling by aspects, in order to take advantage of the benefits of the...
Article
The existence of crosscutting concerns scattered or tangled in the source code complicates the software comprehension, maintenance, evolution and reuse. To improve the modularity of software systems, several approaches aimed to identify the crosscutting concerns to allow their modelling by aspects, in order to take advantage of the benefits of the...
Article
Software is evolutionary in nature. From the time a software product is defined until it is no longer used, it changes. We focus in this paper on the aspect-oriented (AO) software evolution. Although AO software engineering is the subject of ongoing research, AO software evolution has received less attention. AO programming is a mature technology t...
Article
The evolution of Aspect oriented (AO) software would degrade and modify its structure and its modularity. In this scenario, one of the main problems is to evaluate the modularity of the system, is the evolved AO software still has a good modularity or not? Unfortunately, this research area is not explored yet. This paper presents a history-based ap...
Article
In the Islamic legislation, the Fatwā consists in the exhibition of a legal opinion in respect of the Islamic precepts. In this paper we focus our interest on reasoning modes in legal domain and more exactly in Islamic legislation field. Our approach consists in solving a new problem by reusing the solution of a similar problem already met, and sto...
Conference Paper
Evolution is an inevitable aspect which affects metamodels. When metamodels evolve, model conformity may be broken. Model co-evolution is critical in model driven engineering to automatically adapt models to the newer versions of their metamodels. In this paper we discuss what can be done to transfer models between versions of a metamodel. For this...
Conference Paper
Full-text available
In the Islamic legislation, the Fatwa consists in the exhibition of a legal opinion in respect of the Islamic precepts. In this paper we focus our interest on reasoning modes in legal domain and more exactly in Islamic legislation field. Our approach consists in solving a new problem by reusing the solution of a similar problem already met, and sto...
Article
Full-text available
International audience The existence of crosscutting concerns tangled or scattered, complicates the understanding and evolution of object oriented source code. The industrial adoption of aspect-oriented paradigm has led to research new approaches supporting aspect oriented migration. This migration requires the identification of crosscutting concer...
Conference Paper
In Model-Driven Engineering, analogously to any software artifact, metamodels are equally prone to evolution. When a metamodel undergoes modifications, all the related artifacts must be accordingly adapted in order to remain valid. Manual co-evolution of models after these metamodel changes is error-prone. In this setting, this paper introduces a s...
Article
Full-text available
Interesting information and Meta-information about software systems can be extracted by analyzing their evolution histories. This information has been proved useful for understanding software evolution, predicting future changes, and performing an efficient change impact analysis. A rich source code repository is a prerequisite for a high quality e...
Article
Traceability is a key issue to promoting software development quality and productivity. It was recognized as crucial for several software development and maintenance activities. Despite their importance, traceability links are often sacrificed during software evolution due to market pressure. In this work we present an approach to recover them betw...
Conference Paper
Model Driven Software Engineering has matured over the last few years and is now becoming an established technology. As a consequence dealing with evolving metamodels and the necessary co-evolution of instances of this metamodel is becoming increasingly important. Several approaches have been proposed to solve model co-evolution problem. In this pa...
Conference Paper
Software engineering is concerned with the phenomenon of software evolution since software was developed. Real software systems require a continuous change to satisfy the user's new needs, and to avoid the degradation of software structure. To treat the evolution phenomenon, there is some works that suggest software evolution models. Others have be...
Conference Paper
Existence of crosscutting concerns scattered or tangled in the source code complicates the software maintenance, evolution and reuse. To support the improved modularity of software systems, taking advantage of the benefits of aspect-oriented paradigm, several approaches aim to identify the crosscutting concerns, to allow their modeling in aspects....
Conference Paper
Full-text available
To support the improved modularity of software systems, taking advantage of the benefits of as-pect-oriented paradigm, several approaches aim to identify the crosscutting concerns, to allow their modeling in aspects. We classify these approaches in two classes. The first one regroups approaches from a develop-ment perspective. This class considers...
Conference Paper
L’existence des préoccupations non fonctionnelles qui entrecoupent le code, rend ce dernier difficile à comprendre, et par conséquent difficile à maintenir et à réutiliser. L’aspect mining est un processus de rétro-ingénierie, visant l’extraction de ces préoccupations. L’objectif est de faciliter la compréhension du code, ou sa migration vers le pa...
Conference Paper
During the lifetime of a software system, series of changes are made to the software. So many versions will be produced. Version control systems contain significant amounts of data that could be exploited in the study of software evolution. Analyzing the source code of these versions can help to identify necessary changes, understand the impact of...
Conference Paper
La programmation orienté objet est l’approche de choix pour la plupart des projets logiciels actuels. Elle est généralement efficace dans l’expression des fonctionnalités dites verticales. Par contre, elle s’avère particulièrement limitée dans l’expression des fonctionnalités dites horizontales ou transversales, celles exprimant les aspects techniq...
Conference Paper
Afin de supporter la modularité améliorée des systèmes logiciels, en profitant des avantages du paradigme orienté aspect, plusieurs approches visent à identifier les préoccupations, et les modulariser dans des aspects. Ces approches opèrent sur différentes phases du cycle de développement du logiciel, de différentes manières. Nous proposons, dans c...
Conference Paper
Développer des logiciels de grande taille est une tâche difficile. Les maintenir et les faire évoluer au cours de nombreuses années l'est plus encore. En l'absence d'une vision globale, les logiciels tendent naturellement à se déstructurer au fur et à mesure des modifications. Comprendre le logiciel est alors de plus en plus difficile. Plusieurs tr...
Article
Developing software of large size is a difficult task. To maintain them and to make them evolve during numerous years is more difficult again. In the absence of a global vision, the software structure aim to be destroyed naturally with the progression of the modifications. Understanding the software is then more and more difficult. Several works at...
Conference Paper
Développer des logiciels de grande taille (des millions de lignes de code) est une tâche difficile. Les maintenir et les faire évoluer au cours de nombreuses années l'est plus encore. En l'absence d'une vision globale, les logiciels tendent naturellement à se déstructurer au fur et à mesure des modifications. Comprendre le logiciel est alors de plu...
Conference Paper
Full-text available
L'évolution des systèmes logiciels est devenue une matière vitale dans l'industrie du logiciel. La loi d'entropie du logiciel dicte que la qualité de la plupart des systèmes a tendance à se dégrader progressivement dans le temps, à moins que les systèmes soient maintenus et soient adaptés aux nouvelles exigences. L’un des objectifs importants du gé...
Article
Full-text available
In object oriented paradigm, the implementation of a concern is typically scattered overmany locations and tangled with the implementation of other concerns, resulting in a system that ishard to explore and understand. Identifying such code automatically greatly improves both themaintainability and the evolveability of the application. Aspect minin...
Article
Full-text available
The term software process joins all activities that have to be achieved in order to developsoftware. It has been shown that modeling such processes is difficult and expensive task. It's confirmedby diversity of software processes modeling approaches which are however, not satisfactory. Thisstudy deals with an area of growing importance and presents...
Article
Aspect mining aims to identify crosscutting concerns in legacy systems. The code implementing a crosscutting concern is often spread over many different parts of an application. Identifying such code automatically greatly improves the maintainability of the application and enables migration of exsisting (object-oriented) programs to aspect oriented...
Article
Full-text available
The fact that crosscutting concerns (aspects) cannot be well modularized in object oriented software is an impediment to program comprehension: the implementation of a concern is typically scattered over many locations and tangled with the implementation of other concerns, resulting in a system that is hard to explore and understand. Aspect oriente...
Article
Full-text available
Modelling software processes is a difficult and expensive task. It's confirmed by diversity of software processes modelling approaches which are however, not satisfactory. This paper presents roles and coordination as valuable abstractions for specifying and modelling methodological aspects of this processes, by formally defining the policy that le...
Article
Full-text available
Change impact analysis plays a crucial role in software maintenance; it can determine the effect of a change in an entity on the other entities of software. Several techniques of impact analysis for various paradigms were proposed in the literature. But little of them treat this problem in aspect-oriented programs. In this paper we propose a new ap...

Network

Cited By

Projects

Projects (2)
Archived project
Architecture Description Languages, Evolution of Software Architectures
Project
the objectif is to provide an intelligent assistance to software evolution