Demo Data from EDBT 2026 / reviewers in the wild / expert
Mozhan Soltani
dblp:170/5205
· DBLP profile ↗
7ranked-venue papers
6as first author
0since 2021 · last 2020
0000-0003-2788-796XORCID · corroborated
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 7 · 6 first-authorArtificial intelligence and machine learning · 1 · 1 first-author
Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.
| Software engineering, system software, and programming languages
3 papers |
Software testing · 60% Debugging and program repair · 40% | |
| Databases, data mining, and information retrieval
1 paper |
Query processing and optimization · 100% |
Topics — the 7 heaviest of 8, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Debugging and program repair › bug reproduction
crash reproduction |
0.4 | 1 | 2020 | Search-Based Crash Reproduction and Its Impact on Debugging · IEEE Trans. Software Eng. 2020 |
Software testing › test generation › search-based test generation
evolutionary testing |
0.4 | 1 | 2020 | Search-Based Crash Reproduction and Its Impact on Debugging · IEEE Trans. Software Eng. 2020 |
Software testing
test generation |
0.4 | 1 | 2020 | Search-Based Crash Reproduction and Its Impact on Debugging · IEEE Trans. Software Eng. 2020 |
Software testing
test input generation |
0.3 | 1 | 2018 | Search-based test data generation for SQL queries · ICSE 2018 |
Debugging and program repair › bug reproduction › crash reproduction
automated crash reproduction |
0.3 | 1 | 2017 | A guided genetic algorithm for automated crash reproduction · ICSE 2017 |
Debugging and program repair
debugging effectiveness |
0.1 | 1 | 2020 | Search-Based Crash Reproduction and Its Impact on Debugging · IEEE Trans. Software Eng. 2020 |
Software testing
search-based software testing |
0.1 | 1 | 2017 | A guided genetic algorithm for automated crash reproduction · ICSE 2017 |
Methods — techniques the papers use, named apart from their topics
guided genetic algorithm · 0.7search-based software engineering · 0.7random search · 0.7genetic algorithm · 0.7evolutionary algorithm · 0.4controlled experiment · 0.4symbolic execution · 0.3mutation analysis · 0.3directed model checking · 0.3
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2020 | A benchmark-based evaluation of search-based crash reproductionabstractCrash reproduction approaches help developers during debugging by generating a test case that reproduces a given crash. Several solutions have been proposed to automate this task. However, the proposed solutions have been evaluated on a limited number of projects, making comparison difficult. In this paper, we enhance this line of research by proposing JCrashPack, an extensible benchmark for Java crash reproduction, together with ExRunner, a tool to simply and systematically run evaluations. JCrashPack contains 200 stack traces from various Java projects, including industrial open source ones, on which we run an extensive evaluation of EvoCrash, the state-of-the-art tool for search-based crash reproduction. EvoCrash successfully reproduced 43% of the crashes. Furthermore, we observed that reproducing NullPointerException, IllegalArgumentException, and IllegalStateException is relatively easier than reproducing ClassCastException, ArrayIndexOutOfBoundsException and StringIndexOutOfBoundsException. Our results include a detailed manual analysis of EvoCrash outputs, from which we derive 14 current challenges for crash reproduction, among which the generation of input data and the handling of abstract and anonymous classes are the most frequents. Finally, based on those challenges, we discuss future research directions for search-based crash reproduction for Java. Mozhan Soltani, Pouria Derakhshanfar, Xavier Devroey, Arie van Deursen |
Empir. Softw. Eng. | 1 |
| 2020 | The significance of bug report elementsabstractAbstract Open source software projects often use issue repositories, where project contributors submit bug reports. Using these repositories, more bugs in software projects may be identified and fixed. However, the content and therefore quality of bug reports vary. In this study, we aim to understand the significance of different elements in bug reports. We interviewed 35 developers to gain insights into their perceptions on the importance of various contents in bug reports. To assess our findings, we surveyed 305 developers. The results show developers find it highly important that bug reports include crash description, reproducing steps or test cases, and stack traces. Software version, fix suggestions, code snippets, and attached contents have lower importance for software debugging. Furthermore, to evaluate the quality of currently available bug reports, we mined issue repositories of 250 most popular projects on Github. Statistical analysis on the mined issues shows that crash reproducing steps, stack traces, fix suggestions, and user contents, have statistically significant impact on bug resolution times, for ∼70%, ∼76%, ∼55%, and ∼33% of the projects. However, on avarage, over 70% of bug reports lack these elements. Mozhan Soltani, Felienne Hermans, Thomas Bäck |
Empir. Softw. Eng. | 1 |
| 2020 | Search-Based Crash Reproduction and Its Impact on DebuggingabstractSoftware systems fail. These failures are often reported to issue tracking systems, where they are prioritized and assigned to responsible developers to be investigated. When developers debug software, they need to reproduce the reported failure in order to verify whether their fix actually prevents the failure from happening again. Since manually reproducing each failure could be a complex task, several automated techniques have been proposed to tackle this problem. Despite showing advancements in this area, the proposed techniques showed various types of limitations. In this paper, we present EvoCrash, a new approach to automated crash reproduction based on a novel evolutionary algorithm, called Guided Genetic Algorithm (GGA). We report on our empirical study on using EvoCrash to reproduce 54 real-world crashes, as well as the results of a controlled experiment, involving human participants, to assess the impact of EvoCrash tests in debugging. Based on our results, EvoCrash outperforms state-of-the-art techniques in crash reproduction and uncovers failures that are undetected by classical coverage-based unit test generation tools. In addition, we observed that using EvoCrash helps developers provide fixes more often and take less time when debugging, compared to developers debugging and fixing code without using EvoCrash tests. Mozhan Soltani, Annibale Panichella, Arie van Deursen |
IEEE Trans. Software Eng. | 1 |
| 2018 | Search-based test data generation for SQL queriesabstractDatabase-centric systems strongly rely on SQL queries to manage and manipulate their data. These SQL commands can range from very simple selections to queries that involve several tables, sub-queries, and grouping operations. And, as with any important piece of code, developers should properly test SQL queries. In order to completely test a SQL query, developers need to create test data that exercise all possible coverage targets in a query, e.g., JOINs and WHERE predicates. And indeed, this task can be challenging and time-consuming for complex queries. Previous studies have modeled the problem of generating test data as a constraint satisfaction problem and, with the help of SAT solvers, generate the required data. However, such approaches have strong limitations, such as partial support for queries with JOINs, subqueries, and strings (which are commonly used in SQL queries). In this paper, we model test data generation for SQL queries as a search-based problem. Then, we devise and evaluate three different approaches based on random search, biased random search, and genetic algorithms (GAs). The GA, in particular, uses a fitness function based on information extracted from the physical query plan of a database engine as search guidance. We then evaluate each approach in 2,135 queries extracted from three open source software and one industrial software system. Our results show that GA is able to completely cover 98.6% of all queries in the dataset, requiring only a few seconds per query. Moreover, it does not suffer from the limitations affecting state-of-the art techniques. Jeroen Castelein, Mauricio Finavaro Aniche, Mozhan Soltani, Annibale Panichella, Arie van Deursen |
ICSE | 3 |
| 2018 | Single-objective Versus Multi-objectivized Optimization for Evolutionary Crash ReproductionabstractEvoCrash is a recent search-based approach to generate a test case that reproduces reported crashes. The search is guided by a fitness function that uses a weighted sum scalarization to combine three different heuristics: (i) code coverage, (ii) crash coverage and (iii) stack trace similarity. In this study, we propose and investigate two alternatives to the weighted sum scalarization: (i) the simple sum scalarization and (ii) the multi-objectivization, which decomposes the fitness function into several optimization objectives as an attempt to increase test case diversity. We implemented the three alternative optimizations as an extension of EvoSuite, a popular search-based unit test generator, and applied them on 33 real-world crashes. Our results indicate that for complex crashes the weighted sum reduces the test case generation time, compared to the simple sum, while for simpler crashes the effect is the opposite. Similarly, for complex crashes, multi-objectivization reduces test generation time compared to optimizing with the weighted sum; we also observe one crash that can be replicated only by multi-objectivization. Through our manual analysis, we found out that when optimizing the original weighted function gets trapped in local optima, optimization for decomposed objectives improves the search for crash reproduction. Generally, while multi-objectivization is under-explored, our results are promising and encourage further investigations of the approach. Mozhan Soltani, Pouria Derakhshanfar, Annibale Panichella, Xavier Devroey, Andy Zaidman, Arie van Deursen |
SSBSE | 1 |
| 2017 | A guided genetic algorithm for automated crash reproductionabstractTo reduce the effort developers have to make for crash debugging, researchers have proposed several solutions for automatic failure reproduction. Recent advances proposed the use of symbolic execution, mutation analysis, and directed model checking as underling techniques for post-failure analysis of crash stack traces. However, existing approaches still cannot reproduce many real-world crashes due to such limitations as environment dependencies, path explosion, and time complexity. To address these challenges, we present EvoCrash, a post-failure approach which uses a novel Guided Genetic Algorithm (GGA) to cope with the large search space characterizing real-world software programs. Our empirical study on three open-source systems shows that EvoCrash can replicate 41 (82%) of real-world crashes, 34 (89%) of which are useful reproductions for debugging purposes, outperforming the state-of-the-art in crash replication. Mozhan Soltani, Annibale Panichella, Arie van Deursen |
ICSE | 1 |
| 2015 | Challenges of Requirements Engineering in AUTOSAR ecosystemsabstractAUTOSAR has changed significantly how software is developed in the automotive sector. As a central standard, AUTOSAR enables reuse of software components as well as their interoperability. For AUTOSAR compliant ECU development, car manufacturers source Electronic Control Units (ECUs) from Tier-1 suppliers, but ask those Tier-1 suppliers to install AUTOSAR compliant basic software from a certified AUTOSAR-Tier-2 supplier. In this setup (to which we refer as the AUTOSAR ecosystem), the OEM has a direct business relationship with the Tier-1, but only an indirect relationship to the AUTOSAR-Tier-2 supplier, which leads to complex flows of requirements and related information between the organizations involved. In this extended abstract, we summarize preliminary results of a qualitative investigation of Requirements Engineering challenges in the AUTOSAR ecosystem. In particular, we interviewed 7 project managers from an AUTOSAR-Tier-2 supplier, and triangulated our results with 6 additional interviews with subjects from two Tier-1 suppliers and one OEM. We found that most of the requirements towards the AUTOSAR-Tier-2 supplier can be directly mapped to standard AUTOSAR components. However, a significant amount of requirements were new requirements and specific to the OEM or even a project. The well-known requirements engineering challenges we found to surface in the AUTOSAR ecosystem were mainly connected to these non-standard requirements. Standard and non-standard requirements are usually mixed, which makes it hard to fully leverage the potential benefits of reuse within the AUTOSAR standard. We argue that the holistic ecosystem perspective allows exploration of new strategies for mitigating this challenge. Mozhan Soltani, Eric Knauss |
RE | 1 |