
Mustafa Al-Hajjaji- PhD Student at Otto-von-Guericke University Magdeburg
Mustafa Al-Hajjaji
- PhD Student at Otto-von-Guericke University Magdeburg
About
29
Publications
3,288
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
655
Citations
Introduction
Current institution
Additional affiliations
October 2013 - September 2016
October 2008 - June 2011
Publications
Publications (29)
Implicit feedback is collecting information about software usage to understand
how and when the software is used. This research tackles implicit feedback in
Software Product Lines (SPLs). The need for platform-centric feedback makes
SPL feedback depart from one-off-application feedback in both the artefact to
be tracked (the platform vs the variant...
In this extended abstract, we describe the Journal First summary of our article with the same title published in the Journal of Software: Testing, Verification and Reliability (STVR) [1].
Configuring a new variant of a product line is not always a one-time task. In some cases, many stakeholders are involved in the configuration process. This is needed for example, if different stakeholders are responsible for different parts of the product line and they are not allowed to see specific parts of the product line already configured in...
A software product line comprises a family of software products that share a common set of features. Testing an entire product-line product-by-product is infeasible due to the potentially exponential number of products in the number of features. Accordingly, several sampling approaches have been proposed to select a presumably minimal, yet sufficie...
In this paper, we give abrief overview on the tutorial "Using Feature Models to Manage Variability and Requirements Reuse".
Many existing approaches have exploited the similarity notion to analyze software systems. In product-line engineering, similarity notion has been considered to fulfill analysis objectives, such as improving the testing effectiveness and reducing the testing efforts. However, most of the existing approaches consider in the similarity measurement on...
The analysis of software product lines is challenging due to the potentially large number of products, which grow exponentially in terms of the number of features. Product sampling is a technique used to avoid exhaustive testing, which is often infeasible. In this paper, we propose a classification for product sampling techniques and classify the e...
In practice, organizations often rely on the clone-and-own approach to reuse and customize existing systems. While increasing maintenance costs encourage some organizations to adopt their development processes towards more systematic reuse, others still avoid migrating to a reusable platform. Based on our experiences, a barrier preventing the adopt...
Mutation testing is a program-transformation technique that evaluates the quality of test cases by assessing their capability to detect injected artificial faults. The costs of using mutation testing are usually high, hindering its use in industry. Previous research has reported that roughly one-third of the mutants generated in single systems are...
A software product line comprises a family of software products that share a common
set of features. Testing an entire product-line product by product is infeasible, because
the number of possible products can be exponential in the number of features. Combinatorial interaction testing is a sampling strategy that selects a presumably minimal, yet su...
Testing every product of a software product line (SPL) is often not feasible due to the exponential number of products in the number of features. Thus, the order in which products are tested matters, because it can increase the early rate of fault detection. Several approaches have been proposed to prioritize products based on configuration similar...
Mutation testing is a technique to evaluate the quality of test cases by assessing their ability to detect faults. Mutants are modified versions of the original program that are generated automatically and should contain faults similar to those caused by developers' mistakes. For configurable systems, existing approaches propose mutation operators...
A software product-line comprises a set of products that share a common set of features. These features can be reused to customize a product to satisfy specific needs of certain customers or markets. As the number of possible products increases exponentially for new features, testing all products is infeasible. Existing testing approaches reduce th...
The individual analysis of each product of a software product line (SPL) leads to redundant analysis steps due to the inherent commonality. Therefore, incremental SPL analyses exploit commonalities and focus on the differences between products to reduce the analysis effort. However, existing techniques are influenced by the order in which products...
Software product line (SPL) testing is a challenging task, due to the huge number of variants sharing common functionalities to be taken into account for efficient testing. By adopting the concept of regression testing, incremental SPL testing strategies cope with this challenge by exploiting the reuse potential of test artifacts between subsequent...
Most software systems are designed to provide custom functionality using configuration options. Testing such systems is challenging as running tests of a single configuration is often not sufficient, because defects may appear in other configurations. Ideally, all configurations of a software system should be tested, which is usually not applicable...
A software product line comprises a family of software products that share a common set of features. It enables customers to compose software systems from a managed set of features. Testing every product of a product line individually is often infeasible due to the exponential number of possible products in the number of features. Several approache...
A software product line comprises a family of software products that share a common set of features. It enables customers to compose software systems from a managed set of features. Testing every product of a product line individually is often infeasible due to the exponential number of possible products in the number of features. Several approache...
Most software systems are designed to provide custom functionality using configuration options. Testing such systems is challenging as running tests of a single configuration is often not sufficient, because defects may appear in other configurations. Ideally, all configurations of a software system should be tested, which is usually not applicable...
Mutation testing has emerged as one of the most promising techniques to increase the quality of software-intensive systems. In mutation testing, random faults based on a predefined set of mutation operators are automatically injected into a program to evaluate test suites. The effectiveness of mutation testing strongly depends on the representative...
Exhaustively testing every product of a software product line (SPL) is a difficult task due to the combinatorial explosion of the number of products. Several sampling approaches have been proposed to select a subset of the products that can be used to test the SPL. However, these approaches do not scale to large SPLs such as the Linux kernel. Since...
A software product line (SPL) is a family of software products that share a set of common features. Exhaustively testing every product of an SPL is a difficult task due to the combinatorial explosion of the number of products. Several sampling approaches have been proposed to select a set of products that can be used to test SPL. However, these app...
Exhaustively testing every product of a software product line (SPL) is a difficult task due to the combinatorial explosion of the number of products. Combinatorial interaction test test. However, it is typically up-to the tester in which order these products are tested. We propose a similarity-based prioritization to be applied on these products be...
It is becoming increasingly difficult to ignore the complexity of software products. Software metrics are proposed to help show indications for quality, size, complexity, etc. of software products. In this paper, software metrics related to complexity are developed and evaluated. A dataset of many open source projects is built to assess the value o...