Kaj Dreef

dblp:223/3101 · DBLP profile ↗
← Back
3ranked-venue papers
2as first author
2since 2021 · last 2023
—ORCID · none

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

Software engineering, systems software and programming languages · 3 · 2 first-author · 2 since 2021Human-computer interaction and ubiquitous computing · 1 · 1 first-author · 1 since 2021
YearPublicationVenuePosition
2023 Exploring granular test coverage and its evolution with matrix visualizations
Kaj Dreef, Vijay Krishna Palepu, James A. Jones
Inf. Softw. Technol.1
2021 Global Overviews of Granular Test Coverage with Matrix Visualizations
abstract
Existing IDE-based tools that are available to developers make understanding software testing difficult for a software system, for both granular tasks (e.g., answering questions such as, "which test cases execute this method?") and global tasks (e.g., answering questions such as, "what is the proportion of unit tests to system tests?"). IDE-based tools typically support local, file-based views of a project’s test suite, and rarely offer a global overview. Global overviews can provide a larger context for a method’s execution by test cases; help identify other similar, or related methods; and even reveal similarity between individual tests. This work approaches such challenges with a novel, interactive, matrix-based visual interface that provides a global overview of a software project’s test suite, specifically in the context of the methods available in the project’s codebase. Through a series of interactive functions to sort, filter, query, and explore a test-matrix visualization, we demonstrate how developers can effectively answer questions about their project’s test suite, and the code executed by such tests. Our evaluations, performed on four real-world software systems, show that the interactive visualization assisted developers to answer questions about software tests and the code they execute. Further, the visualization consistently outperforms traditional development tools, both in accuracy and time taken to complete software-engineering tasks.
Kaj Dreef, Vijay Krishna Palepu, James A. Jones
VISSOFT1
2018 Hierarchical abstraction of execution traces for program comprehension
abstract
Understanding the dynamic behavior of a software system is one of the most important and time-consuming tasks for today's software maintainers. In practice, understanding the inner workings of software requires studying the source code and documentation and inserting logging code in order to map high-level descriptions of the program behavior with low-level implementation, i.e., the source code. Unfortunately, for large codebases and large log files, such cognitive mapping can be quite challenging. To bridge the cognitive gap between the source code and detailed models of program behavior, we propose a fully automatic approach to present a semantic abstraction with different levels of functional granularity from full execution traces. Our approach builds multi-level abstractions and identifies frequent behaviors at each level based on a number of execution traces, and then, it labels phases within individual execution traces according to the identified major functional behaviors of the system. To validate our approach, we conducted a case study on a large-scale subject program, Javac, to demonstrate the effectiveness of the mining result. Furthermore, the results of a user study demonstrate that our approach is capable of presenting users a high-level comprehensible abstraction of execution behavior. Based on a real world subject program the participants in our user study were able to achieve a mean accuracy of 70%.
Yang Feng 0003, Kaj Dreef, James A. Jones, Arie van Deursen
ICPC2