Tomasz Kuchta

dblp:150/8893 · DBLP profile ↗
← Back
5ranked-venue papers
4as first author
1since 2021 · last 2022
0000-0002-2765-6961ORCID · corroborated

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

Software engineering, systems software and programming languages · 5 · 4 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
4 papers
Software testing · 73% Program analysis · 14% Software maintenance and evolution · 8%
Computer architecture, parallel and distributed computing, and storage systems
1 paper
Embedded and real-time systems · 100%

Topics — the 10 heaviest of 11, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Software testing
fuzzing
0.612022
Auto Off-Target: Enabling Thorough and Scalable Testing for Complex Software Systems · ASE 2022
Software testing
regression testing
0.322018
Shadow of a doubt: testing for divergences between software versions · ICSE 2016
Shadow Symbolic Execution for Testing Software Patches · ACM Trans. Softw. Eng. Methodol. 2018
Program analysis
symbolic execution
0.312018
Shadow Symbolic Execution for Testing Software Patches · ACM Trans. Softw. Eng. Methodol. 2018
Software testing
test generation
0.312018
Shadow Symbolic Execution for Testing Software Patches · ACM Trans. Softw. Eng. Methodol. 2018
Software testing
software reliability
0.212014
Docovery: toward generic automatic document recovery · ASE 2014
Embedded and real-time systems › embedded software
firmware testing
0.212022
Auto Off-Target: Enabling Thorough and Scalable Testing for Complex Software Systems · ASE 2022
Software maintenance and evolution › software defects
regression bugs
0.112018
Shadow Symbolic Execution for Testing Software Patches · ACM Trans. Softw. Eng. Methodol. 2018
Software maintenance and evolution
software evolution
0.112016
Shadow of a doubt: testing for divergences between software versions · ICSE 2016
Operating systems › persistence
crash recovery
0.112014
Docovery: toward generic automatic document recovery · ASE 2014
Operating systems
fault tolerance
0.112014
Docovery: toward generic automatic document recovery · ASE 2014

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

scalable testing · 1.1fuzzing · 1.1symbolic execution · 0.3test case generation · 0.2differential testing · 0.2automatic document recovery · 0.2
YearPublicationVenuePosition
2022 Auto Off-Target: Enabling Thorough and Scalable Testing for Complex Software Systems
abstract
Software systems powering OS kernels, basebands, bootloaders, firmware, IoT or automotive build the foundation of infrastructure that billions of people rely on every day. Testing these systems is crucial, especially as their complexity grows and they are often written in unsafe languages such as C/C++.
Tomasz Kuchta, Bartosz Zator
ASE1
2018 On the correctness of electronic documents: studying, finding, and localizing inconsistency bugs in PDF readers and files
abstract
Electronic documents are widely used to store and share information such as bank statements, contracts, articles, maps and tax information. Many different applications exist for displaying a given electronic document, and users rightfully assume that documents will be rendered similarly independently of the application used. However, this is not always the case, and these inconsistencies, regardless of their causes—bugs in the application or the file itself—can become critical sources of miscommunication. In this paper, we present a study on the correctness of PDF documents and readers. We start by manually investigating a large number of real-world PDF documents to understand the frequency and characteristics of cross-reader inconsistencies, and find that such inconsistencies are common—13.5% PDF files are inconsistently rendered by at least one popular reader. We then propose an approach to detect and localize the source of such inconsistencies automatically. We evaluate our automatic approach on a large corpus of over 230 K documents using 11 popular readers and our experiments have detected 30 unique bugs in these readers and files. We also reported 33 bugs, some of which have already been confirmed or fixed by developers.
Tomasz Kuchta, Thibaud Lutellier, Edmund Wong, Lin Tan 0001, Cristian Cadar
Empir. Softw. Eng.1
2018 Shadow Symbolic Execution for Testing Software Patches
abstract
While developers are aware of the importance of comprehensively testing patches, the large effort involved in coming up with relevant test cases means that such testing rarely happens in practice. Furthermore, even when test cases are written to cover the patch, they often exercise the same behaviour in the old and the new version of the code. In this article, we present a symbolic execution-based technique that is designed to generate test inputs that cover the new program behaviours introduced by a patch. The technique works by executing both the old and the new version in the same symbolic execution instance, with the old version shadowing the new one. During this combined shadow execution, whenever a branch point is reached where the old and the new version diverge, we generate a test input exercising the divergence and comprehensively test the new behaviours of the new version. We evaluate our technique on the Coreutils patches from the CoREBench suite of regression bugs, and show that it is able to generate test inputs that exercise newly added behaviours and expose some of the regression bugs.
Tomasz Kuchta, Hristina Palikareva, Cristian Cadar
ACM Trans. Softw. Eng. Methodol.1
2016 Shadow of a doubt: testing for divergences between software versions
abstract
While developers are aware of the importance of comprehensively testing patches, the large effort involved in coming up with relevant test cases means that such testing rarely happens in practice. Furthermore, even when test cases are written to cover the patch, they often exercise the same behaviour in the old and the new version of the code.
Hristina Palikareva, Tomasz Kuchta, Cristian Cadar
ICSE2
2014 Docovery: toward generic automatic document recovery
abstract
Application crashes and errors that occur while loading a document are one of the most visible defects of consumer software. While documents become corrupted in various ways---from storage media failures to incompatibility across applications to malicious modifications---the underlying reason they fail to load in a certain application is that their contents cause the application logic to exercise an uncommon execution path which the software was not designed to handle, or which was not properly tested.
Tomasz Kuchta, Cristian Cadar, Miguel Castro 0001, Manuel Costa
ASE1