Muddassar A. Sindhu

Muddassar A. Sindhu
Quaid-i-Azam University | QAU · Department of Computer Science

PhD

About

40
Publications
10,231
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
283
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.
Additional affiliations
March 2021 - present
Quaid-i-Azam University
Position
  • Professor (Associate)
January 2015 - March 2021
Quaid-i-Azam University
Position
  • Professor (Assistant)
November 2008 - March 2013
KTH Royal Institute of Technology
Position
  • PhD Student
Education
December 2008 - April 2013
KTH Royal Institute of Technology
Field of study
  • Computer Science

Publications

Publications (40)
Article
Full-text available
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...
Conference Paper
Full-text available
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,...
Article
Full-text available
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...
Article
Full-text available
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...
Article
Full-text available
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...
Article
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...
Article
Full-text available
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...
Preprint
Full-text available
Learning-based testing (LBT) is an emerging methodology to automate iterative black-box requirements testing of software systems. The methodology involves combining model inference with model checking techniques. However, a variety of optimisations on model inference are necessary in order to achieve scalable testing for large systems. In this pape...
Article
Full-text available
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...
Article
Full-text available
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...
Article
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...
Article
Full-text available
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...
Article
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...
Article
Full-text available
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...
Article
Full-text available
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...
Article
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...
Conference Paper
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...
Conference Paper
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...
Conference Paper
Full-text available
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...
Article
Full-text available
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...
Conference Paper
Full-text available
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...
Conference Paper
Full-text available
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...
Conference Paper
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...
Article
Full-text available
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...
Article
Full-text available
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.
Poster
Full-text available
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...
Conference Paper
Full-text available
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...
Conference Paper
Full-text available
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...
Article
Full-text available
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...

Network

Cited By

Projects

Projects (6)
Project
Project related to research in software engineering, especially exploring methods from machine learning and network science to be used in software engineering
Project
The project aims at designing, evaluating and empirically investigating new model inference algorithms to be used for Learning-based Testing (LBT) along with proposing coverage metrics for evaluating test adequacy of LBT test cases generated.