Kamal Z Zamli

Kamal Z Zamli
Universiti Malaysia Pahang | ump · Faculty of Computer Systems and Software Engineering

PhD Software Engineering

About

183
Publications
63,064
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
2,798
Citations
Citations since 2017
36 Research Items
1862 Citations
20172018201920202021202220230100200300
20172018201920202021202220230100200300
20172018201920202021202220230100200300
20172018201920202021202220230100200300

Publications

Publications (183)
Article
Full-text available
This paper discusses a new variant of the Henry Gas Solubility Optimization (HGSO) algorithm, called Hybrid HGSO (HHGSO). Unlike its predecessor, HHGSO allows multiple clusters serving different individual meta-heuristic algorithms (i.e., with its own defined parameters and local best) to co-exist within the same population. Exploiting the dynamic...
Article
Full-text available
Hybrid meta-heuristics algorithms have gained popularity in recent years to solve t-way test suite generation problems due to better exploration and exploitation capabilities of the hybridization. This paper presents the implementation of meta-heuristic search algorithms that are Migrating Birds Optimization (MBO) algorithm and Genetic Algorithm (G...
Article
Full-text available
Software module clustering is an unsupervised learning method used to cluster software entities (e.g., classes, modules, or files) with similar features. The obtained clusters may be used to study, analyze, and understand the software entities' structure and behavior. Implementing software module clustering with optimal results is challenging. Acco...
Article
Flower Pollination Algorithm (FPA) is a relatively new meta-heuristic algorithm that adopts its metaphor from the proliferation role of flowers in plants. Having only one parameter control (i.e. the switch probability, pa) to choose from the global search (i.e. exploration) and local search (i.e. exploitation) is the main strength of FPA as compare...
Article
Full-text available
Software testing is a vital part of the software development life cycle. In many cases, the system under test has more than one input making the testing efforts for every exhaustive combination impossible (i.e. the time of execution of the test case can be outrageously long). Combinatorial testing offers an alternative to exhaustive testing via con...
Article
Full-text available
Hyper-heuristic is a new methodology for the adaptive hybridization of meta-heuristic algorithms to derive a general algorithm for solving optimization problems. This work focuses on the selection type of hyper-heuristic, called the Exponential Monte Carlo with Counter (EMCQ). Current implementations rely on the memory-less selection that can be co...
Article
Full-text available
With the increasing capabilities of smart devices, keeping them secure has become a major concern. To mitigate that concern, over the last few years, several new classes of authentication schemes have been proposed. Graphical Authentication (GA) is one of those classes and is the focus of this paper. The GA schemes are more popular and preferable f...
Preprint
Full-text available
Nowadays, ensuring the quality becomes challenging for most modern software systems when constraints are given for the combinations of configurations. Combinatorial interaction strategies can systematically reduce the number of test cases to construct a minimal test suite without affecting the effectiveness of the tests. This paper presents a new e...
Article
Full-text available
To ensure the quality of current highly configurable software systems, intensive testing is needed to test all the configuration combinations and detect all the possible faults. This task becomes more challenging for most modern software systems when constraints are given for the configurations. Here, intensive testing is almost impossible, especia...
Article
Full-text available
A combinatorial testing (CT) is an important technique usually employed in the generation of test cases. The generation of an optimal sized test case is a Non-Deterministic Polynomial hard problem (NP). In recent times, many researchers had developed the various strategies based on the search-based approach to address the combinatorial testing issu...
Poster
Full-text available
Within the improvement of low-cost downscaling technologies, the IoT is shining to be adopted in the construction of smart communities in the 4th industrial revolution. IoT is entered in smart phones, smart buildings, smart posters, image processing, smart identification, smart agriculture, smart locks, smart examination, etc. This project deals wi...
Article
Full-text available
Combinatorial interaction testing (CIT) is a useful testing technique to address the interaction of input parameters in software systems. In many applications, the technique has been used as a systematic sampling technique to sample the enormous possibilities of test cases. In the last decade, most of the research activities focused on the generati...
Conference Paper
Full-text available
Although showing competitive performances in many real-world optimization problems, Teaching Learning based Optimization Algorithm (TLBO) has been criticized for having poor control on exploration and exploitation. Addressing these issues, a new variant of TLBO called Adaptive Fuzzy Teaching Learning based Optimization (ATLBO) has been developed in...
Conference Paper
Full-text available
Flower Pollination Algorithm (FPA) is the new breed of meta-heuristic for the general optimization problem. In this paper, an improved algorithm based on Flower Pollination Algorithm (FPA), called imFPA, has been proposed. In imFPA, the static selection probability is replaced by the dynamic solution selection probability in order to enhance the di...
Article
Full-text available
In the past few years, mobile devices have been increasingly replacing traditional computers as their capabilities such as CPU computation, memory, RAM size, and many more, are being enhanced almost to the level of conventional computers. These capabilities are being exploited by mobile apps developers to produce apps that offer more functionalitie...
Article
Full-text available
Testing processes and workflows in information and Internet of Things systems is a major part of the typical software testing effort. Consistent and efficient path-based test cases are desired to support these tests. Because certain parts of software system workflows have a higher business priority than others, this fact has to be involved in the g...
Article
Pairwise testing significantly reduces testing efforts of contemporary software systems by efficiently sampling their exorbitant number of parameter configurations. Meta-heuristic based pairwise test generation strategies appeared effective in the recent literature for pairwise testing. However, meta-heuristics require substantial information of th...
Article
Full-text available
In line with the upcoming of a new field called search-based software engineering (SBSE), many newly developed t-way strategies adopting meta-heuristic algorithms can be seen in the literature for constructing interaction test suite (such as simulated annealing (SA), genetic algorithm (GA), ant colony optimisation algorithm (ACO), particle swarm op...
Article
Full-text available
A keyphrase extraction technique endeavors to extract quality keyphrases from a given document, which provide a high-level summary of that document. Except statistical keyphrase extraction approaches, all other approaches are either domain-dependent or require a sufficient amount of training data, which are rare at present. Therefore, in this paper...
Chapter
Full-text available
Combinatorial interaction testing is an important software testing technique that has seen lots of recent interest. It can reduce the number of test cases needed by considering interactions between combinations of input parameters. Empirical evidence shows that it effectively detects faults, in particular, for highly configurable software systems....
Conference Paper
Full-text available
Exhaustive testing in software testing is hard to implement due to a huge number of test cases and time-consuming in order to find bugs. Hence, a test cases minimization strategy is an essential to obtain an optimize test cases and reduce time. The major objective of this study is to propose a new test case minimization strategy called Test Generat...
Article
Full-text available
The sine-cosine algorithm (SCA) is a new population-based meta-heuristic algorithm. In addition to exploiting sine and cosine functions to perform local and global searches (hence the name sine-cosine), the SCA introduces several random and adaptive parameters to facilitate the search process. Although it shows promising results, the search process...
Article
Full-text available
Interaction testing can be used to effectively detect faults that are otherwise difficult to find by other testing techniques. However, in practice, the input configurations of software systems are subjected to constraints, especially in the case of highly configurable systems. Handling constraints effectively and efficiently in combinatorial inter...
Article
Full-text available
Computer software is in high demand everywhere in the world. The high dependence on software makes software requirements more complicated. As a result, software testing tasks get costlier and challenging due to a large number of test cases, coupled with the vast number of the system requirements. This challenge presents the need for reduction of th...
Article
Owing to an exponential increase in computational time associated with increasing number of system components, exhaustive testing is increasingly become impractical. Here, many researchers opt to adopt pairwise testing to minimize the overall number of tests. Recently, many existing works are focusing on the use of Search-Based algorithms as the ba...
Conference Paper
Full-text available
The Internet of Things (IoT) is growing so fast than ever. It's going to have a huge impact on just about every market around the world within few years from now. So, it's certainly possible to overlook some of the most important elements needed to effectively take advantage of this trend. Because the Internet of Things will be involved in many par...
Article
Recently, many meta-heuristic algorithms have been proposed to serve as the basis of a t-way test generation strategy (where t indicates the interaction strength) including Genetic Algorithms (GA), Ant Colony Optimization (ACO), Simulated Annealing (SA), Cuckoo Search (CS), Particle Swarm Optimization (PSO), and Harmony Search (HS). Although useful...
Article
Teaching Learning based Optimization Algorithm (TLBO) has shown competitive performances for solving many real world optimization problems. Nevertheless, it requires better control for exploitation and exploration in order to prevent premature convergence (i.e. trapped in local optima) as well as enhance the solution diversity. Thus, this paper pro...
Article
Full-text available
Software testing relates to the process of accessing the functionality of a program against some defined specifications. To ensure conformance, test engineers often generate a set of test cases to validate against the user requirements. Owing to the growing complexity of software and its increasing diffusion into various application domains, it is...
Article
Full-text available
Context: Combinatorial testing strategies have lately received a lot of attention as a result of their diverse applications. In its simple form, a combinatorial strategy can reduce several input parameters (configurations) of a system into a small set based on their interaction (or combination). In practice, the input configurations of software sys...
Chapter
In line with the advancement of hardware technology and increasing consumer demands for new functionalities and innovations, software applications grew tremendously in term of size over the last decade. This sudden increase in size has a profound impact as far as testing is concerned. Here, more and more unwanted interactions among software systems...
Article
Full-text available
Combinatorial test design is a plan of test that aims to reduce the amount of test cases systematically by choosing a subset of the test cases based on the combination of input variables. The subset covers all possible combinations of a given strength and hence tries to match the effectiveness of the exhaustive set. This mechanism of reduction has...
Conference Paper
Full-text available
Owing to the significance of combinatorial search strategies both for academia and industry, the introduction of new techniques is a fast growing research field these days. These strategies have really taken different forms ranging from simple to complex strategies in order to solve all forms of combinatorial problems. Nonetheless, despite the kind...
Article
This paper proposes a novel hybrid t-way test generation strategy (where t indicates interaction strength), called High Level Hyper-Heuristic (HHH). HHH adopts Tabu Search as its high level meta-heuristic and leverages on the strength of four low level meta-heuristics, comprising of Teaching Learning based Optimization, Global Neighborhood Algorith...
Article
Full-text available
Although desirable, exhaustive testing of the software system is impractical because of the significant growth of the search space of systems features (large search space).Several sampling strategies have been introduced to systematically reduce the test data for consideration. Complementing existing sampling strategies (i.e. in terms of dealing wi...
Article
Full-text available
Automatic Programming Assessment (APA) has been known as a method used to automatically mark and grade students’ programming solutions. In order to realise APA as a tangible deliverable, a number of automated tools which are called Automated Programming Assessment Systems (APAS) have been developed and tested for decades. Basically, the need for de...
Conference Paper
In an attempt to ensure good-quality software, there is need to test all possible inputs. Owing to the fact that the exhaustive testing is hardly feasible, many software testing approaches has been proposed. Combinatorial Interaction Testing (CIT) is very promising technique to minimize the number of test cases. Although useful, most of exiting CIT...
Conference Paper
Exhaustive testing is extremely difficult to perform owing to the large number of combinations. Thus, sampling and finding the optimal test suite from a set of feasible test cases becomes a central concern. Addressing this issue, the adoption of t-way testing (where t indicates the interaction strength) has come into the limelight. In order to summ...
Article
Automatic Programming Assessment (or APA) has recently become a notable method in assisting educators of programming courses to automatically assess and grade students’ programming exercises as its counterpart; the typical manual tasks are prone to errors and lead to inconsistency. Practically, this method also provides an alternative means of redu...
Article
Full-text available
Testing has an essential influence on the efficiency and effectiveness in software quality. For ensuring software quality, there is a need to test all possible input combinations. Owing to time and resource constraints, testing all input combinations is hardly feasible. Here, testing of pairwise is a promising strategy so as to ensure the required...
Article
Full-text available
Owing to exponential growth of software lines of codes (LOC)s, testing becomes painstakingly difficult activities. Test engineers are often under pressure to test more and more LOCs yet within the same targeted deadline. For this reason, efficient testing strategy is required. Pairwise testing is amongst the most common strategies for minimizing an...
Article
Full-text available
Combinatorial interaction testing is a practical approach aims to detect defects due to unwanted and faulty interactions. Here, a set of sampled test cases is generated based on t-way covering problem (where t indicates the interaction strength). Often, the generation process is based on a particular t-way strategy ensuring that each t-way interact...
Conference Paper
Full-text available
Search Based Software Testing (SBST) relates to the application of meta-heuristics algorithms for solving optimization problem within the domain of software testing. Within the context of structural testing, SBST has recently been adopted for generating the modified condition/decision coverage (MC/DC)[1-4] compliant test suite. In this respect, the...
Conference Paper
Software testing relates to the process of accessing the functionality of a program against some defined specifications. To ensure conformance, test engineers often generate a set of test cases to validate against the user requirements. When dealing with large line of codes (LOCs), there are potentially issue of redundancies as new test cases may b...
Conference Paper
Full-text available
Owing to exponential growth of software lines of codes (LOC)s, testing becomes painstakingly difficult activities. Test engineers are often under pressure to test more and more LOCs yet within the same targeted deadline. For this reason, adopting effective combinatorial automated testing methods is required to ensure quality. T-way combinatorial te...
Conference Paper
Owing to an exponential increase in computational time associated with increasing number of components, exhaustive testing is impractical. Here, many researchers opt to adopt pairwise testing to minimize the overall number of tests. Recently, many existing work are focusing on the use of Search-Based algorithms as the basis of the implementation al...
Conference Paper
Full-text available
Software product lines (SPLs) represent an engineering method for creating a portfolio of similar software systems for a shared set of software product assets. Owing to the significant growth of SPLs, there is a need for systematic approach for ensuring the quality of the resulting product derivatives. Combinatorial t-way testing (where t indicates...
Conference Paper
Full-text available
Cuckoo Search Strategy (CSS) is the newly developed strategy based on the Cuckoo Search Algorithm. In order to achieve best performance, a number of parameters in the Cuckoo Search Algorithm needs to be tuned namely the nest size, the elitism probability, and the repetition. This paper describes the tuning process for Cuckoo Search Algorithm involv...
Conference Paper
Increasing cost and complexity of maintaining physical computers have caused large organization to consider alternative solution such as implementing Virtual Desktop Infrastructure (VDI) in their enterprise network. However, before deploying VDI solution in a large scale, it is essential to evaluate the sufficiency of the solution first. As a resul...
Article
Full-text available
The paper discusses theoretical principles and practical implementation of the model-centred physics instruction with the help of information and communication technologies (ICT). The approach uses physical modelling as a basic activity, which links the logic of physical research, psychological and pedagogical aspects of teaching physics and ways o...
Article
Full-text available
Combinatorial Interaction testing (or termed t-way testing) is a useful g strategy aimed at sampling a set of test cases from a large search space. As part of the strategy implementation, researchers have started to turn into meta-heuristic algorithms in line with the emergence of the new field called Search based Software Engineering. Complementin...
Article
The topic of software testing in education has become appealing to some although most researchers focused on researching software testing tools and methods. This is because of the increase awareness of the importance of adding software testing to the curricula in universities. In this paper, we propose the concept of teaching software testing with...
Article
Full-text available
This paper describes the new t-way strategy based the Late Acceptance based Hill Climbing algorithm, called LAHC, for constraints t-way test generation. Unlike earlier competing work, LAHC does not require significant tuning in order to have it working. In fact, LAHC merely requires minor adjustment of the common controlling parameters involving it...
Article
Full-text available
The paper discusses theoretical principles and practical implementation of the model-centred physics instruction with the help of information and communication technologies (ICT). The approach uses physical modelling as a basic activity, which links the logic of physical research, psychological and pedagogical aspects of teaching physics and ways o...
Article
Combinatorial test data generation strategies have been known to be effective to detect the fault in the product due to the interaction between the product's features. Over the years, many combinatorial test data generation strategies have been developed supporting uniform and variable strength interactions. Although useful, these existing strategi...
Article
Automatic Programming Assessment (APA) has recently become a significant method in assisting educators of programming courses to automatically mark and grade students' programming as its counterpart; the typical manual tasks are prone to errors and leading to inconsistency. By default, test data generation process plays an important role to perform...
Conference Paper
Full-text available
The model of tasks interaction in a Cyber-Physical System (CPS) is developed and discussed in the paper. To achieve fault-tolerant behavior the intermediate synchronization objects are used for decoupling interacting tasks. Synchronization protocol is modeled as guarded actions with help of Temporal Logic of Actions (TLA). The guard is a logical co...
Conference Paper
Full-text available
Structural testing is often the most common sought criteria for exercising aspects of control flow (i.e. such as statement, branch and path coverage). In many cases, criteria based on statement, decision and path coverage appears sufficiently effective for testing (in terms of selecting the appropriate test cases for testing consideration) the vari...
Conference Paper
Full-text available
Optimization problem relates to finding the best solution from all feasible solutions. Over the last 30 years, many meta-heuristic algorithms have been developed in the literature including that of Simulated Annealing (SA), Genetic Algorithm (GA), Ant Colony Optimization (ACO), Particle Swarm Optimization (PSO), Harmony Search Algorithm (HS) to nam...
Conference Paper
Software testing relates to the process of accessing the functionality of a program against some defined specifications. To ensure conformance, test engineers often generate a set of test cases to validate against the user requirements. When dealing with large line of codes (LOCs), there are potentially issue of redundancies as new test cases may b...
Conference Paper
Full-text available
This paper describes the generation of t-way test suit using the Late Acceptance Hill Climbing based strategy (LAHC) in the present of constraints. Our benchmarking results have been promising as LAHC gives competitive results in all constraints configurations considered.
Chapter
In line with the advancement of hardware technology and increasing consumer demands for new functionalities and innovations, software applications grew tremendously in term of size over the last decade. This sudden increase in size has a profound impact as far as testing is concerned. Here, more and more unwanted interactions among software systems...
Chapter
The test case construction is amongst the most labor-intensive tasks and has significant influence on the effectiveness and efficiency in software testing. Due to the market needed for diverse types of tests, recently, several number of t-way testing strategies (where t indicates the interaction strengths) have been developed adopting different app...
Article
Given the large domain of inputs and possibly too many possible execution paths, the software is often tested using a sampled set of test cases. A variety of coverage criteria have been proposed to assess the effectiveness of the sampled set of test cases. As far as structural testing involving predicate evaluation is concerned, criteria exercising...
Article
This paper presents a new distributed test suite generation for t-way testing, called TS_OP, using Map and Reduce software framework based on tuple space technology environment. TS_OP takes a one-parameter-at-a-time strategy and is capable of supporting high interaction strength (i.e. t>5). Internally, TS_OP coordinates and distributes the test cas...
Article
An automatic programming assessment (APA) method aims to support marking and grading of students' programming exercises. APA requires a test data generation to perform a dynamic testing on students' programs. In software testing field, diverse automated methods for test data generation are proposed. Unfortunately, APA seldom adopts these methods. M...