About
23
Publications
10,613
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
1,820
Citations
Introduction
Skills and Expertise
Publications
Publications (23)
Existing software fault-proneness analysis and prediction models can be categorized into software metrics and visualized approaches. However, the studies of the software metrics solely rely on the quantified data, while the latter fails to reflect the human aspect, which is proven to be a main cause of many failures in various domains. In this pape...
This paper is the updated version (2013–2020) of the series of papers on emerging themes, top scholars and institutes on software engineering (SE), published by the Journal of Systems and Software for almost 25 years. The paper reports the findings of a bibliometric study by applying the systematic mapping technique on top-quality software engineer...
Model-based testing has been successfully applied for test case generation in practice. Its underlying idea is to utilize models of the system for obtaining system inputs and their corresponding expected outputs. In this paper, we report on experiences gained when using a different methodology relying on models, i.e., ontology-based testing, for ge...
Vulnerabilities in existing software systems represent a great challenge for security assurance, where well known attacks like cross-site scripting (XSS) or SQL injections (SQLI) still represent a common threat for today’s web applications. Failure to cover these issues in verification might result in unforeseen consequences for users of such softw...
Context: Ontologies are known as a formal and explicit conceptualization of entities, their interfaces, behaviors, and relationships. They have been applied in various application domains such as autonomous driving where ontologies are used for decision making, traffic description, auto-pilot etc. It has always been a challenge to test the correspo...
Software modules and developers are two core elements during the process of software development. Previous studies have shown that analyzing relations between: (1) software modules, (2) developers, and (3) modules and developers, is critical to understanding how they interact with each other, which ultimately affects software quality. Specifically,...
The growing importance of automated and autonomous driving systems becomes more and more visible in the industrial domain as well as in research. Validation and verification of autonomous driving functions is one of the grand challenges in autonomous vehicle development. Virtual validation using simulation has been widely discussed and proposed as...
Ordinary tools for computing combinatorial test suites rely on simple input models comprising variables together with their domains and constraints limiting possible combinations. Modeling for combinatorial testing requires to represent the input domain of the application in a way such that it fits to the combinatorial testing input model. Dependin...
Understanding critical aspects of software fault-proneness prediction contributes significantly to building effective fault-proneness prediction models. This paper conducts an investigation of essential topics in this area, including techniques for evaluating the effectiveness of fault-proneness prediction models, issues of concerns when building t...
Software fault localization, the act of identifying the locations of faults in a program, is widely recognized to be one of the most tedious, time consuming, and expensive - yet equally critical - activities in program debugging. Due to the increasing scale and complexity of software today, manually locating faults when failures occur is rapidly be...
Effective debugging is crucial to producing reliable software. Manual debugging is becoming prohibitively expensive, especially due to the growing size and complexity of programs. Given that fault localization is one of the most expensive activities in program debugging, there has been a great demand for fault localization techniques that can help...
Effective debugging is crucial to producing dependable software. Manual debugging is becoming prohibitively expensive, especially due to the growing size and complexity of programs. Given that fault localization is one of the most expensive activities in program debugging, there has been a great demand for fault localization techniques that can hel...
Debugging software is an expensive and human-intensive process. The cost for locating and fixing a bug is among the most expensive activities in program debugging. Many fault localization methods were presented to locate one bug at a time in a program. The fault localization process is repeated until all bugs are found and fixed in the program. How...