
Muddassar A. Sindhu- PhD
- Professor (Full) at Quaid-i-Azam University
Muddassar A. Sindhu
- PhD
- Professor (Full) at Quaid-i-Azam University
About
48
Publications
19,386
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
517
Citations
Introduction
I am working on automatic test case generation from requirements of a software specified either in a formal or an informal way. I have been working on an approach called learning-based testing of reactive systems which combines model inference with model checking to efficiently and automatically generate test cases from linear temporal logic requirements along with assigning verdicts automatically on them. I am also interested in automated change detection in use case requirements along with proving correctness of programs.
Current institution
Additional affiliations
March 2021 - present
August 2005 - January 2015
Education
December 2008 - April 2013
Publications
Publications (48)
This paper presents a novel approach for detecting abuse on Twitter. Abusive posts have become a major problem for social media platforms like Twitter. It is important to identify abuse to mitigate its potential harm. Many researchers have proposed methods to detect abuse on Twitter. However, most of the existing approaches for detecting abuse look...
This paper studies learning-based testing (LBT) for reactive systems with different learning algorithms and model checkers. LBT is a technique that requires a learning algorithm to learn the models to generate test cases automatically. We have used the generic methodology of LBT to test reactive systems with two different model inference algorithms...
Software engineering artifact extraction from natural language requirements without human intervention is a challenging task. Out of these artifacts, the use case plays a prominent role in software design and development. In the literature, most of the approaches are either semi-automated or necessitate formalism or make use of restricted natural l...
We present an efficient incremental learning algorithm for Deterministic Finite Automaton (DFA) with the help of inverse query (IQ) and membership query (MQ). This algorithm is an extension of the Identification of Regular Languages (ID) algorithm from a complete to an incremental learning setup. The learning algorithm learns by making use of a set...
A resurgent interest for grammatical inference aka automaton learning has emerged in several intriguing areas of computer sciences such as machine learning, software engineering, robotics and internet of things. An automaton learning algorithm commonly uses queries to learn the regular grammar of a
Deterministic Finite Automaton
(DFA). These quer...
Automaton learning has attained a renewed interest in many interesting areas of software engineering including formal verification, software testing and model inference. An automaton learning algorithm typically learns the regular language of a DFA with the help of queries. These queries are posed by the learner (Learning Algorithm) to a Minimally...
Cloning in software is generally perceived as a threat to its maintenance and that is why it needs to be managed properly. Understanding clones from a historical perspective is essential for effective clone management. Analysis of code refactorings performed on clones in previous releases will help developers in taking decisions about clone refacto...
Learning-based testing (LBT) is an innovative variant of black-box testing in which test cases are derived by making use of automaton learning and model checking algorithms along with providing Linear Temporal Logic (LTL) requirements of the System Under Test (SUT). There is a scarcity of test coverage metrics for black-box testing in general and L...
There has been a recent growth of interest in software engineering community to use grammatical inference, aka automaton learning, in software engineering applications. This is primarily due to the reason that capacity of underlying hardware resources has improved significantly over the last years; which has enabled the use of this approach beyond...
The increased usage of information and communication technologies has changed the way industries look at things. This development of technology in terms of software utilization has resulted in various security vulnerabilities such as injection, data disclosure, authentication, and access control concerns. When working with concurrent applications,...
Software is a complex entity, and its development needs careful planning and a high amount of time and cost. To assess quality of program, software measures are very helpful. Amongst the existing measures, coupling is an important design measure, which computes the degree of interdependence among the entities of a software system. Higher coupling l...
Social media is a vital source to produce textual data, further utilized in various research fields. It has been considered an essential foundation for organizations to get valuable data to assess the users' thoughts and opinions on a specific topic. Text classification is a procedure to assign tags to predefined classes automatically based on thei...
Cross Site Scripting (XSS) is one of the most frequently occurring vulnerability. The impact of XSS can vary from cosmetic to catastrophic damages. However, detection of XSS efficiently is still an open issue. Cross site scripting has been dealt with static and dynamic analysis previously. Both techniques have shortcomings and fail due to frequent...
Artificially intelligent (AI) game software incorporates different algorithms to generate intelligent human-like responses to the users playing them. Testing AI game software poses great difficulty because of the complex possibilities that can result at a given point and analysis of said possibilities is a tedious task. Also during software develop...
Manual testing of software requirements written in natural language for agile or any other methodology requires more time and human resources. This leaves the testing process error prone and time consuming. For satisfied end users with bug‐free software delivered on time, there is a need to automate the test oracle process for natural language or i...
Career selection plays an important role in every industry. It has immense influence on individuals' futures. Due to its importance, many researchers have proposed models and guidelines for career selection to help people select careers systematically. This article discusses various career selection models and guidelines. It elaborates the elements...
Career selection plays an important role in every industry. It has immense influence on individuals' futures. Due to its importance, many researchers have proposed models and guidelines for career selection to help people select careers systematically. This article discusses various career selection models and guidelines. It elaborates the elements...
Contemporary learning systems are an integration of learning resources with human interactions. To close the loop in feedback driven learning environments, the utility of learning objectives needs to be measured. To this end, a comprehensive trust evaluation model for decision making is required to utilize feedback ratings along with other key para...
In general, requirements expressed in natural language are the first step in the software development process and are documented in the form of use cases. These requirements can be specified formally using some precise mathematical notation (e.g. Linear Temporal Logic (LTL), Computational Tree Logic (CTL) etc.) or using some modeling formalism (e.g...
Contemporary learning systems are an integration of learning resources with human interactions. To close the loop in feedback-driven learning environments, the utility of learning objectives need to be measured. To this end, a comprehensive trust evaluation model for decision making is required to utilize feedback ratings along with other key param...
Assessing the quality of the software is both important and difficult. For this purpose, software fault prediction (SFP) models have been extensively used. However, selecting the right model and declaring the best out of multiple models are dependent on the performance measures. We analyze 14 frequently used, non-graphic classifier’s performance me...
Cloning in software represents similar program structures having its own benefits and drawbacks. Proper clone analysis is required to exploit the benefits of clones. A study of software clone evolution serves the purpose of understanding the maintenance implications of clones, which leads to their appropriate management. Structural clones (recurrin...
Multi-Agent Systems (MAS) are used for a wide range of applications. Goals and plans are the key premise to achieve MAS targets. Correct and proper execution and coverage of plans and achievement of goals ensures confidence in MAS. Proper identification of all possible faults in MAS working plays its role towards gaining such confidence. In this pa...
Game software is becoming complex, therefore testing game software can be a tedious task as it can result in multiple complex and possible outcomes at a given point. Also most of testing is focused on certain parts of the software because of resource constraints. The game of chess also poses this problem as there are a large number of ways in which...
Change is a necessary part in the development of any software system. Software engineering artifacts, such as UML diagrams and descriptions, continue to evolve with time resulting in several versions. Efficient techniques and tools are needed to automatically find changes in these artifacts. This paper presents the basic concepts and constructs of...
The use case artifact is the de facto standard to represent functional requirements of a software and can be used to verify and analyze the requirements throughout the development process. Consistent and unambiguous requirements are documented using formal representation techniques. Non-technical stakeholders usually lack skills required to underst...
We present a range of testing techniques for the Abstract Behavioral Specification (ABS) language and apply them to an industrial case study. ABS is a formal modeling language for highly variable, concurrent, component-based systems. The nature of these systems makes them susceptible to the introduction of subtle bugs that are hard to detect in the...
We present case studies which show how the paradigm of learning-based testing (LBT) can be successfully applied to black-box requirements testing of industrial reactive systems. For this, we apply a new testing tool LBTest, which combines algorithms for incremental black-box learning of Kripke structures with model checking technology. We show how...
We present case studies which show how the paradigm of learning-based testing (LBT) can be successfully applied to black-box requirements testing of industrial reactive systems. For this, we apply a new testing tool LBTest, which combines algorithms for incremental black-box learning of Kripke structures with model checking technology. We show how...
We give an introduction to the LBTest tool which implements learning-based testing for reactive systems. It makes use of incremental learning and model checking algorithms to automate: i) test case generation, ii) test execution and iii) test verdict construction. The paper illustrates the tool by means of a pedagogical case study, to enable the us...
We present a new algorithm IDS for incremental learning of deterministic
finite automata (DFA). This algorithm is based on the concept of distinguishing
sequences introduced in (Angluin81). We give a rigorous proof that two versions
of this learning algorithm correctly learn in the limit. Finally we present an
empirical performance analysis that co...
We introduce an algorithm for the minimization of deterministic Kripke
structures with O(kn log2 n) time complexity. We prove the correctness and
complexity properties of this algorithm.
We present a new algorithm IDS for incremental learning of deterministic finite automata (DFA). This algorithm is based on the concept of distinguishing sequences introduced in (Angluin, 1981). We give a rigorous proof that two versions of this learning algorithm correctly learn in the limit. Finally we present an empirical performance analysis tha...
We present an overview of the paradigm of learning-based testing (LBT) for software systems. LBT is a fully automated method for specification-based black-box testing using computational learning principles. It applies the principle of tests as queries, where queries are either generated by a learning algorithm or by a model checker through use of...
We show how the paradigm of learning-based testing (LBT) can be applied to automate specification-based black-box testing of re-active systems. Since reactive systems can be modeled as Kripke struc-tures, we introduce an efficient incremental learning algorithm IKL for such structures. We show how an implementation of this algorithm com-bined with...
We present a new algorithm IDS for incremental learning of deterministic finite automata (DFA). This algorithm is based on the concept of distinguishing sequences introduced in [Angluin 1981]. We give a rigorous proof that two versions of this learning algorithm correctly learn in the limit. Finally we present an empirical performance analysis that...