Network


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

Hotspot


Dive into the research topics where Ladan Tahvildari is active.

Publication


Featured researches published by Ladan Tahvildari.


ACM Transactions on Autonomous and Adaptive Systems | 2009

Self-adaptive software: Landscape and research challenges

Mazeiar Salehie; Ladan Tahvildari

Software systems dealing with distributed applications in changing environments normally require human supervision to continue operation in all conditions. These (re-)configuring, troubleshooting, and in general maintenance tasks lead to costly and time-consuming procedures during the operating phase. These problems are primarily due to the open-loop structure often followed in software development. Therefore, there is a high demand for management complexity reduction, management automation, robustness, and achieving all of the desired quality requirements within a reasonable cost and time range during operation. Self-adaptive software is a response to these demands; it is a closed-loop system with a feedback loop aiming to adjust itself to changes during its operation. These changes may stem from the software systems self (internal causes, e.g., failure) or context (external events, e.g., increasing requests from users). Such a system is required to monitor itself and its context, detect significant changes, decide how to react, and act to execute such decisions. These processes depend on adaptation properties (called self-* properties), domain characteristics (context information or models), and preferences of stakeholders. Noting these requirements, it is widely believed that new models and frameworks are needed to design self-adaptive software. This survey article presents a taxonomy, based on concerns of adaptation, that is, how, what, when and where, towards providing a unified view of this emerging area. Moreover, as adaptive systems are encountered in many disciplines, it is imperative to learn from the theories and models developed in these other areas. This survey article presents a landscape of research in self-adaptive software by highlighting relevant disciplines and some prominent research projects. This landscape helps to identify the underlying research gaps and elaborates on the corresponding challenges.


dagstuhl seminar proceedings | 2013

Software Engineering for Self-Adaptive Systems: A Second Research Roadmap

Rogério de Lemos; Holger Giese; Hausi A. Müller; Mary Shaw; Jesper Andersson; Marin Litoiu; Bradley R. Schmerl; Gabriel Tamura; Norha M. Villegas; Thomas Vogel; Danny Weyns; Luciano Baresi; Basil Becker; Nelly Bencomo; Yuriy Brun; Bojan Cukic; Ron Desmarais; Schahram Dustdar; Gregor Engels; Kurt Geihs; Karl M. Göschka; Alessandra Gorla; Vincenzo Grassi; Paola Inverardi; Gabor Karsai; Jeff Kramer; Antónia Lopes; Jeff Magee; Sam Malek; Serge Mankovskii

The goal of this roadmap paper is to summarize the state-of-the-art and identify research challenges when developing, deploying and managing self-adaptive software systems. Instead of dealing with a wide range of topics associated with the field, we focus on four essential topics of self-adaptation: design space for self-adaptive solutions, software engineering processes for self-adaptive systems, from centralized to decentralized control, and practical run-time verification & validation for self-adaptive systems. For each topic, we present an overview, suggest future directions, and focus on selected challenges. This paper complements and extends a previous roadmap on software engineering for self-adaptive systems published in 2009 covering a different set of topics, and reflecting in part on the previous paper. This roadmap is one of the many results of the Dagstuhl Seminar 10431 on Software Engineering for Self-Adaptive Systems, which took place in October 2010.


ACM Sigsoft Software Engineering Notes | 2005

Autonomic computing: emerging trends and open problems

Mazeiar Salehie; Ladan Tahvildari

The increasing heterogeneity, dynamism and interconnectivity in software applications, services and networks led to complex, unmanageable and insecure systems. Coping with such a complexity necessitates to investigate a new paradigm namely Autonomic Computing. Although academic and industry efforts are beginning to proliferate in this research area, there are still a lots of open issues that remain to be solved. This paper proposes a categorization of complexity in I/T systems and presents an overview of autonomic computing research area. The paper also discusses a summary of the major autonomic computing systems that have been already developed both in academia and industry, and finally outlines the underlying research issues and challenges from a practical as well as a theoretical point of view.


IEEE Transactions on Software Engineering | 2010

The Effects of Time Constraints on Test Case Prioritization: A Series of Controlled Experiments

Hyunsook Do; Siavash Mirarab; Ladan Tahvildari; Gregg Rothermel

Regression testing is an expensive process used to validate modified software. Test case prioritization techniques improve the cost-effectiveness of regression testing by ordering test cases such that those that are more important are run earlier in the testing process. Many prioritization techniques have been proposed and evidence shows that they can be beneficial. It has been suggested, however, that the time constraints that can be imposed on regression testing by various software development processes can strongly affect the behavior of prioritization techniques. If this is correct, a better understanding of the effects of time constraints could lead to improved prioritization techniques and improved maintenance and testing processes. We therefore conducted a series of experiments to assess the effects of time constraints on the costs and benefits of prioritization techniques. Our first experiment manipulates time constraint levels and shows that time constraints do play a significant role in determining both the cost-effectiveness of prioritization and the relative cost-benefit trade-offs among techniques. Our second experiment replicates the first experiment, controlling for several threats to validity including numbers of faults present, and shows that the results generalize to this wider context. Our third experiment manipulates the number of faults present in programs to examine the effects of faultiness levels on prioritization and shows that faultiness level affects the relative cost-effectiveness of prioritization techniques. Taken together, these results have several implications for test engineers wishing to cost-effectively regression test their software systems. These include suggestions about when and when not to prioritize, what techniques to employ, and how differences in testing processes may relate to prioritization cost--effectiveness.


european software engineering conference | 2003

A metric-based approach to enhance design quality through meta-pattern transformations

Ladan Tahvildari; Kostas Kontogiannis

During the evolution of object-oriented legacy systems, improving the design quality is. most often a highly demanded objective. For such systems which have a large number of classes and are subject to frequent modifications, detection and correction of design defects is a complex task. The use of automatic detection and correction tools can be helpful for this task. Various research approaches have proposed transformations that improve the quality of an object-oriented systems while preserving its behavior This paper proposes a framework where a catalogue of object-oriented metrics can be used-as indicators for automatically detecting situations where a particular transformation can be applied to improve the quality of an object-oriented legacy system. The correction process is based on analyzing the impact of various meta-pattern transformations on these object-oriented metrics.


Advances in Computers | 2012

Cloud Computing Uncovered: A Research Landscape

Mohammad Hamdaqa; Ladan Tahvildari

Abstract The amalgamation of technology and service-based economy was the impetus of a new IT delivery model called “Cloud Computing.” Unsurprisingly, the new model created a state of confusion; new concepts are mixed with old ones, and some old technologies are being reinvented. Today, many research areas and projects under the cloud umbrella need to be sorted and classified. Additionally, many gaps need to be categorized so that each research area can be tackled by its experts. It is important to learn from what already exists, and to be able to distinguish between what is new and what can be reused. Accordingly, this survey article presents a unified view of the Cloud Computing main concepts, characteristics, models, and architectures. Moreover, it presents a landscape of research in Cloud Computing by highlighting relevant disciplines and some diligent research projects. This helps identify the underlying research gaps and elaborates on the corresponding challenges.


foundations of software engineering | 2008

An empirical study of the effect of time constraints on the cost-benefits of regression testing

Hyunsook Do; Siavash Mirarab; Ladan Tahvildari; Gregg Rothermel

Regression testing is an expensive process used to validate modified software. Test case prioritization techniques improve the cost-effectiveness of regression testing by ordering test cases such that those that are more important are run earlier in the testing process. Many prioritization techniques have been proposed and evidence shows that they can be beneficial. It has been suggested, however, that the time constraints that can be imposed on regression testing by various software development processes can strongly affect the behavior of prioritization techniques. Therefore, we conducted an experiment to assess the effects of time constraints on the costs and benefits of prioritization techniques. Our results show that time constraints can indeed play a significant role in determining both the cost-effectiveness of prioritization, and the relative cost-benefit tradeoffs among techniques, with important implications for the use of prioritization in practice.


Journal of Systems and Software | 2003

Quality-driven software re-engineering

Ladan Tahvildari; Kostas Kontogiannis; John Mylopoulos

Software re-engineering consists of a set of activities intended to restructure a legacy system to a new target system that conforms with hard and soft quality constraints (or non-functional requirements, NFR). This paper presents a framework that allows specific NFR such as performance and maintainability to guide the re-engineering process. Such requirements for the migrant system are modeled using soft-goal interdependency graphs and are associated with specific software transformations. Finally, an evaluation procedure at each transformation step determines whether specific qualities for the new migrant system can be achieved.


Journal of Software Maintenance and Evolution: Research and Practice | 2004

Improving design quality using meta-pattern transformations: a metric-based approach

Ladan Tahvildari; Kostas Kontogiannis

SUMMARY Improving the design quality of large object-oriented systems during maintenance and evolution is widely regarded as a high-priority objective. Furthermore, for such systems that are subject to frequent modifications, detection and correction of design defects may easily become a very complex task that is even not tractable for manual handling. Therefore, the use of automatic or semi-automatic detection and correction techniques and tools can assist reengineering activities. This paper proposes a framework whereby object-oriented metrics can be used as indicators for automatically detecting situations for particular transformations to be applied in order to improve specific design quality characteristics. The process is based both on modeling the dependencies between design qualities and source code features, and on analyzing the impact that various transformations have on software metrics that quantify the design qualities being improved. Copyright c � 2004 John Wiley & Sons, Ltd.


Software Engineering for Self-Adaptive Systems | 2013

Towards Practical Runtime Verification and Validation of Self-Adaptive Software Systems

Gabriel Tamura; Norha M. Villegas; Hausi A. Müller; João Pedro Sousa; Basil Becker; Mauro Pezzè; Gabor Karsai; Serge Mankovskii; Wilhelm Schäfer; Ladan Tahvildari; Kenny Wong

Software validation and verification (VV and (ii) present a proposal for including V&V operations explicitly in feedback loops for ensuring the achievement of software self-adaptation goals. Both of these contributions provide valuable starting points for V&V researchers to help advance this field.

Collaboration


Dive into the Ladan Tahvildari's collaboration.

Top Co-Authors

Avatar
Top Co-Authors

Avatar

Kostas Kontogiannis

National Technical University of Athens

View shared research outputs
Top Co-Authors

Avatar

Mehdi Amoui

University of Waterloo

View shared research outputs
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
Top Co-Authors

Avatar

Sen Li

University of Waterloo

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Researchain Logo
Decentralizing Knowledge