PhD Research

Thesis Title:

Q-Star: Data Quality Engineering Framework

Abstract:

Data quality is one of the most important issues in data management. Recently, many approaches have been presented to enhance data quality. One of the major tasks in data quality solutions is record linkage. Most of the conventional approaches use pure algorithmic methods, which can only handle structured datasets with limited diversity of dirty data problems. We introduce a crowdsourcing approach to record linkage in structured, semi-structured and unstructured large datasets. We also introduce some effective algorithms, measures and indicators to enhance the quality of aggregated answers and detect malicious crowd workers.

Thesis Title:

Handling Uncertainty in requirements in Self Adaptive Software Systems Using Model-oriented Self-management

Abstract:

Requirements and environmental conditions have the potential to be misunderstood, mistaken, changeable and generally uncertain intrinsically. Therefore, an exact perception about all aspects of a goal model is hardly ever possible. While missing the real value of some significant requirements can interrupt the system services. What is needed in such cases is an adaptable system which is preferred to be deigned, decide and apply adaptation strategies as automatically as possible (SAS).The main focus in our study is handling uncertainty by measurement which helps to decide about design decisions quantitatively.

Thesis Title:

Semantic Traceability of Quality Attributes based on Architectural Tactics

Abstract:

Traceability is a technique that allows all kinds of software artifacts to be monitored at all stages of the software life cycle. Tracing functional requirements is a relatively mature field of research. However, the traceability of quality attributes remains a challenge. Quality attributes have a wide range of effects on a system and are achieved from various architectural perspectives. Architectural patterns and tactics are commonly used to obtain quality attributes. The main goal of this thesis is to prevent architecture erosion by establishing trace links between quality attributes and source code, which is provided through the identification of architectural tactics in source code. The proposed approach in this thesis has been evaluated by conducting a case study.

This paper introduces a new quality attributes traceability approach based on Clone Microtactics. A Microtactic is a microstructure associated with an architectural tactic that is automatically identifiable in the conceptual representation of the source code. This approach identifies parts of source code with behavioral and contextual similarities with microtactics described in a reference model as Clone Microtactics. Identifying architectural tactics also enables quality attribute traceability in the source code. Identifying Microtactics in the source code as parts of an architectural tactic enables the traceability of quality attributes in the source code by an ontology-based semantic infrastructure. Our approach is evaluated by conducting a case study on a dataset related to the Apache Hadoop framework, which includes ten architectural tactics related to availability, performance, and security. Obtaining an average of 0.99 for recall shows that the proposed approach was able to identify almost all architectural tactics. Also, comparing the results with similar methods in this field indicates that in 80% of cases, the proposed approach has obtained better results.

Research Topic:

Internet of Things (IOT)

Abstract:

Internet of Things (IoT) is defined as a paradigm in which objects equipped with sensors, actuators, and processors could communicate each other through a software application to provide a meaningful purpose. Recently, it has seen a huge growth in the number of smart devices, wireless technologies, and sensors. In addition, many organization and industrial companies have expected that billions of devices will be connected to the Internet. Thus, to satisfy such a large number of things, we need architectures that support particular quality such as scalability, flexibility, interoperability, energy-efficiency, and security. For this context, it is necessary to have an engineering solution to satisfy the various requirements of particular application which it help to design a qualify architectures that could be suitable for IoT systems.