Demonstration venue · read-only. Every page can be browsed; the buttons that would change it are switched off. Create an account to run TaxoReview on your own data. A simulation from public publication records: the people listed were not invited and did not agree to review.
? Tutorial for this page

David A. Tomassi

dblp:228/5719 · DBLP profile ↗
← Back
4ranked-venue papers
4as first author
2since 2021 · last 2023
0009-0007-8434-7122ORCID · corroborated

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

Software engineering, systems software and programming languages · 3 · 3 first-author · 1 since 2021Security and privacy · 1 · 1 first-author · 1 since 2021

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
Program analysis · 50% Software testing · 19% Debugging and program repair · 14%

Topics — the 5 heaviest of 6, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Program analysis
static analysis
0.822021
On the Real-World Effectiveness of Static Bug Detectors at Finding Null Pointer Exceptions · ASE 2021
Bugs in the wild: examining the effectiveness of static analyzers at finding real-world bugs · ESEC/SIGSOFT FSE 2018
Program analysis › static analysis
bug detection
0.512021
On the Real-World Effectiveness of Static Bug Detectors at Finding Null Pointer Exceptions · ASE 2021
Software testing › fault detection
null pointer detection
0.512021
On the Real-World Effectiveness of Static Bug Detectors at Finding Null Pointer Exceptions · ASE 2021
Empirical software engineering
mining software repositories
0.312018
Bugs in the wild: examining the effectiveness of static analyzers at finding real-world bugs · ESEC/SIGSOFT FSE 2018
Software maintenance and evolution › release engineering
continuous integration
0.112019
BugSwarm: mining and continuously growing a dataset of reproducible failures and fixes · ICSE 2019

Methods — techniques the papers use, named apart from their topics

stack trace analysis · 0.5code coverage analysis · 0.5mining software repositories · 0.4containerization · 0.4static analysis · 0.3
YearPublicationVenuePosition
2023 Libra: Library Identification in Obfuscated Android Apps
David A. Tomassi, Kenechukwu Nwodo, Mohamed Elsabagh
ISC1
2021 On the Real-World Effectiveness of Static Bug Detectors at Finding Null Pointer Exceptions
abstract
Static bug detectors aim at helping developers to automatically find and prevent bugs. In this experience paper, we study the effectiveness of static bug detectors at identifying Null Pointer Dereferences or Null Pointer Exceptions (NPEs). NPEs pervade all programming domains from systems to web development. Specifically, our study measures the effectiveness of five Java static bug detectors: CheckerFramework, ERADICATE, INFER, NULLAWAY, and SPOTBUGS. We conduct our study on 102 real-world and reproducible NPEs from 42 open-source projects found in the BUGSWARM and DEFECTS4J datasets. We apply two known methods to determine whether a bug is found by a given tool, and introduce two new methods that leverage stack trace and code coverage information. Additionally, we provide a categorization of the tool’s capabilities and the bug characteristics to better understand the strengths and weaknesses of the tools. Overall, the tools under study only find 30 out of 102 bugs (29.4%), with the majority found by ERADICATE. Based on our observations, we identify and discuss opportunities to make the tools more effective and useful.
David A. Tomassi, Cindy Rubio-González
ASE1
2019 BugSwarm: mining and continuously growing a dataset of reproducible failures and fixes
abstract
Fault-detection, localization, and repair methods are vital to software quality; but it is difficult to evaluate their generality, applicability, and current effectiveness. Large, diverse, realistic datasets of durably-reproducible faults and fixes are vital to good experimental evaluation of approaches to software quality, but they are difficult and expensive to assemble and keep current. Modern continuous-integration (CI) approaches, like TRAVIS-CI, which are widely used, fully configurable, and executed within custom-built containers, promise a path toward much larger defect datasets. If we can identify and archive failing and subsequent passing runs, the containers will provide a substantial assurance of durable future reproducibility of build and test. Several obstacles, however, must be overcome to make this a practical reality. We describe BUGSWARM, a toolset that navigates these obstacles to enable the creation of a scalable, diverse, realistic, continuously growing set of durably reproducible failing and passing versions of real-world, open-source systems. The BUGSWARM toolkit has already gathered 3,091 fail-pass pairs, in Java and Python, all packaged within fully reproducible containers. Furthermore, the toolkit can be run periodically to detect fail-pass activities, thus growing the dataset continually.
David A. Tomassi, Naji Dmeiri, Yichen Wang 0004, Antara Bhowmick, Yen-Chuan Liu, Premkumar T. Devanbu, Bogdan Vasilescu, Cindy Rubio-González
ICSE1
2018 Bugs in the wild: examining the effectiveness of static analyzers at finding real-world bugs
abstract
Static analysis is a powerful technique to find software bugs. In past years, a few static analysis tools have become available for developers to find certain kinds of bugs in their programs. However, there is no evidence on how effective the tools are in finding bugs in real-world software. In this paper, we present a preliminary study on the popular static analyzers ErrorProne and SpotBugs. Specifically, we consider 320 real Java bugs from the BugSwarm dataset, and determine which of these bugs can potentially be found by the analyzers, and how many are indeed detected. We find that 30.3% and 40.3% of the bugs are candidates for detection by ErrorProne and SpotBugs, respectively. Our evaluation shows that the analyzers are relatively easy to incorporate into the tool chain of diverse projects that use the Maven build system. However, the analyzers are not as effective detecting the bugs under study, with only one bug successfully detected by SpotBugs.
David A. Tomassi
ESEC/SIGSOFT FSE1