Alireza Salahirad

dblp:205/1443 · DBLP profile ↗
← Back
5ranked-venue papers
3as first author
2since 2021 · last 2023
0000-0002-8922-6123ORCID · corroborated

Domains — the database's venue-derived domains; a paper can count in several

Software engineering, systems software and programming languages · 5 · 3 first-author · 2 since 2021Artificial intelligence and machine learning · 1
YearPublicationVenuePosition
2023 How Closely are Common Mutation Operators Coupled to Real Faults?
abstract
In mutation testing, faulty versions of a program are generated through automated modifications of source code. These mutants are used to assess and improve test suite quality, under the assumption that detection of mutants is indicative of a test suite’s ability to detect real faults—i.e., that mutants and faults have a semantic relationship. Improving the effectiveness—in both cost and quality—of mutation testing may lie in better understanding this relationship, in particular with regard to how individual mutation operators (types) couple to real faults.In this study, we examine coupling between 32,002 mutants produced by 31 mutation operators and 144 real faults, using a scale based on number of failing tests and reasons for failure. Ultimately, we observed that 9.92% of the mutants are strongly coupled to real faults, and 51.03% of the faults have at least one strongly coupled mutant. We identify and examine mutation operators with the highest median coupling, as well as the operators that tend to produce non-compiling mutants, undetected mutants, and mutants that cause tests other than those that detect the actual fault to fail. We also examine how coupling could be used to filter the set of operators employed, leading to potentially significant cost savings during mutation testing. Our findings could lead to improvements in how mutation testing is applied, improved implementation of specific mutation operators, and inspiration for new mutation operators.
Gregory Gay 0002, Alireza Salahirad
ICST2
2023 Mapping the structure and evolution of software testing research over the past three decades
abstract
The field of software testing is growing and rapidly-evolving. Based on keywords assigned to publications, we seek to identify predominant research topics and understand how they are connected and have evolved. We apply co-word analysis to map the topology of testing research as a network where author-assigned keywords are connected by edges indicating co-occurrence in publications. Keywords are clustered based on edge density and frequency of connection. We examine the most popular keywords, summarize clusters into high-level research topics examine how topics connect, and examine how the field is changing. Testing research can be divided into 16 high-level topics and 18 subtopics. Creation guidance, automated test generation, evolution and maintenance, and test oracles have particularly strong connections to other topics, highlighting their multidisciplinary nature. Emerging keywords relate to web and mobile apps, machine learning, energy consumption, automated program repair and test generation, while emerging connections have formed between web apps, test oracles, and machine learning with many topics. Random and requirements-based testing show potential decline. Our observations, advice, and map data offer a deeper understanding of the field and inspiration regarding challenges and connections to explore. Editor’s note: Open Science material was validated by the Journal of Systems and Software Open Science Board.
Alireza Salahirad, Gregory Gay 0002, Ehsan Mohammadi
J. Syst. Softw.1
2020 Choosing the fitness function for the job: Automated generation of test suites that detect real faults
abstract
The article from this special issue was previously published in Software Testing, Verification and Reliability, Volume 29, Issue 4–5, 2019. For completeness we are including the title page of the article below. The full text of the article can be read in Issue 29:4–5 on Wiley Online Library: https://onlinelibrary.wiley.com/doi/10.1002/stvr.1701
Alireza Salahirad, Hussein K. Almulla, Gregory Gay 0002
Softw. Test. Verification Reliab.1
2019 Choosing the fitness function for the job: Automated generation of test suites that detect real faults
abstract
Summary Search‐based unit test generation, if effective at fault detection, can lower the cost of testing. Such techniques rely on fitness functions to guide the search. Ultimately, such functions represent test goals that approximate—but do not ensure—fault detection. The need to rely on approximations leads to two questions—can fitness functions produce effective tests and, if so, which should be used to generate tests? To answer these questions, we have assessed the fault‐detection capabilities of unit test suites generated to satisfy eight white‐box fitness functions on 597 real faults from the Defects4J database. Our analysis has found that the strongest indicators of effectiveness are a high level of code coverage over the targeted class and high satisfaction of a criterion's obligations. Consequently, the branch coverage fitness function is the most effective. Our findings indicate that fitness functions that thoroughly explore system structure should be used as primary generation objectives—supported by secondary fitness functions that explore orthogonal, supporting scenarios. Our results also provide further evidence that future approaches to test generation should focus on attaining higher coverage of private code and better initialization and manipulation of class dependencies.
Alireza Salahirad, Hussein K. Almulla, Gregory Gay 0002
Softw. Test. Verification Reliab.1
2017 Using Search-Based Test Generation to Discover Real Faults in Guava
Hussein K. Almulla, Alireza Salahirad, Gregory Gay 0002
SSBSE2