Demo Data from EDBT 2026 / reviewers in the wild / expert
Gustavo Rodriguez-Rivera
dblp:82/6974
· DBLP profile ↗
7ranked-venue papers
4as first author
3since 2021 · last 2023
0000-0002-7592-6188ORCID · corroborated
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 4 · 3 first-authorHuman-computer interaction and ubiquitous computing · 3 · 1 first-author · 3 since 2021Applied, interdisciplinary, general and emerging computing · 1 · 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
1 paper |
Debugging and program repair · 67% Program analysis · 33% | |
| Interdisciplinary, comprehensive, and emerging computing
1 paper |
Computing education · 100% |
Topics — the 4 heaviest of 4, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Program analysis
dynamic analysis |
0.2 | 1 | 2016 | Apex: automatic programming assignment error explanation · OOPSLA 2016 |
Debugging and program repair › fault localization
failure explanation |
0.2 | 1 | 2016 | Apex: automatic programming assignment error explanation · OOPSLA 2016 |
Debugging and program repair
fault localization |
0.2 | 1 | 2016 | Apex: automatic programming assignment error explanation · OOPSLA 2016 |
Computing education › programming education
programming assignment feedback |
0.1 | 1 | 2016 | Apex: automatic programming assignment error explanation · OOPSLA 2016 |
Methods — techniques the papers use, named apart from their topics
trace matching · 0.5symbolic execution · 0.5
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2023 | Eastwood-Tidy: C Linting for Automated Code Style Assessment in Programming CoursesabstractComputer Science students receive significant instruction towards writing functioning code that correctly satisfies requirements. Auto-graders have been shown effective at scalably running student code and determining whether the code correctly implements a given assignment or project. However, code functionality is only one component of "good" code, and there are few studies on the correlation between code style and code quality. There are even fewer studies contributing a tool equivalent to auto-graders for code style checking and grading. We put forth two contributions. First, a style guide for the C programming language focused on readability for student programs. Second, an automated linting tool Eastwood-Tidy providing on-demand style violation and fix feedback for students and automated style grading for course staff. Finally, we survey students and find a positive response to both a code standard and an automated tool to support the standard and make recommendations for the inclusion of both in programming focused courses based on these results. Rowan Hart, Brian Hays, Connor McMillin, El Kindi Rezig, Gustavo Rodriguez-Rivera, Jeffrey A. Turkstra |
SIGCSE (1) | 5 |
| 2022 | Tracking Large Class Projects in Real-Time Using Fine-Grained Source ControlabstractManaging a class and identifying common problems becomes significantly more challenging as class sizes increase. Additionally, the increase of online learning requires better methods to track student progress remotely. In this paper, we describe a system that tracks student progress in real time. We propose a method for obtaining a fine-grained commit history by creating a Git repository for each student and automatically running commit/push commands every time a student compiles code. This approach makes a rich source of trace data that can track student progress in real-time, identify common problems students are having, alert faculty of students that are falling behind, and verify project authorship. However, analyzing individual repositories in a large class of students can be tedious and complex, so we have developed a system that provides quick access to all student repositories and summary information and statistics for their projects. This paper describes our approach for obtaining fine-grained source control commits in real-time, a method for tracking student and overall class progress using this data, and our experiences using this system. Gustavo Rodriguez-Rivera, Jeffrey A. Turkstra, Jordan Buckmaster, Killian LeClainche, Shawn Montgomery, William Reed, Ryan Sullivan, Jarett Lee |
SIGCSE (1) | 1 |
| 2022 | Task Detection in Continual Learning via Familiarity AutoencodersabstractContinual learning requires the ability to reliably transfer previously learned knowledge to new tasks without disrupting established competencies. Methods such as Progressive Neural Network [1] accomplish high-quality transfer learning while nullifying the insidious problem of catastrophic forgetting. However, most module-based continual learning systems require task labels during operation – a constraint that limits their application in many real-world conditions where task indicators are opaque. This paper proposes a task detector neural algorithm to acquire task information while maintaining immunity to forgetting. Our proposed task detector allows progressive neural networks (and many similar systems) to operate without task labels during test time. Our task detector is built from familiarity autoencoders which recognize the nature of the required task from input data. We demonstrate the generality and effectiveness of our approach through experiments in video game playing and automated image repair. Our results show near-perfect task recognition in all domains (>.99 F1), rewards above published single-task scores in MinAtar, and realistic image repairs on damaged human face pictures. The performance of our integrated method is nearly identical to the progressive systems equipped with ground-truth task labels1 Maxwell J. Jacobson, Case Q. Wright, Nan Jiang 0012, Gustavo Rodriguez-Rivera, Yexiang Xue |
SMC | 4 |
| 2016 | Apex: automatic programming assignment error explanationabstractThis paper presents Apex, a system that can automatically generate explanations for programming assignment bugs, regarding where the bugs are and how the root causes led to the runtime failures. It works by comparing the passing execution of a correct implementation (provided by the instructor) and the failing execution of the buggy implementation (submitted by the student). The technique overcomes a number of technical challenges caused by syntactic and semantic differences of the two implementations. It collects the symbolic traces of the executions and matches assignment statements in the two execution traces by reasoning about symbolic equivalence. It then matches predicates by aligning the control dependences of the matched assignment statements, avoiding direct matching of path conditions which are usually quite different. Our evaluation shows that Apex is every effective for 205 buggy real world student submissions of 4 programming assignments, and a set of 15 programming assignment type of buggy programs collected from stackoverflow.com, precisely pinpointing the root causes and capturing the causality for 94.5% of them. The evaluation on a standard benchmark set with over 700 student bugs shows similar results. A user study in the classroom shows that Apex has substantially improved student productivity. Dohyeong Kim, Yonghwi Kwon 0001, Peng Liu 0010, I Luk Kim, David Mitchel Perry, Xiangyu Zhang 0001, Gustavo Rodriguez-Rivera |
OOPSLA | 7 |
| 2000 | Conservative Garbage Collection for General Memory AllocatorsabstractThis paper explains a technique that integrates conservative garbage collection on top of general memory allocators. This is possible by using two data structures named malloc-tables and jump-tables that are computed at garbage collection time to map pointers to beginning of objects and their sizes. This paper describes malloc-tables and jump-tables, an implementation of a malloc/jump-table based conservative garbage collector for Doug Lea's memory allocator, and experimental results that compare this implementation with Boehm-Demers-Weiser GC, a state-of-the-art conservative garbage collector. Gustavo Rodriguez-Rivera, Michael Spertus, Charles Fiterman |
ISMM | 1 |
| 1998 | A Non-Fragmenting NonMmoving, Garbage CollectorabstractOne of the biggest disadvantages of non-moving collectors compared to moving collectors has been their limited ability to deal with memory fragmentation. In this paper, we describe two techniques to reduce fragmentation without the need for moving live data. The first technique reduces internal fragmentation in BiBoP (Big-Bag-of-Pages) like allocators. The second technique reduces external fragmentation using virtual memory culls available in most modern operating systems. It can also reduce the size of the heap after periods of great activity in long lived applications. These techniques have been successfully used in Geodesic Systems' Great Circle, a commercially-available conservative garbage collector. This paper describes these techniques, their implementation, and some experimental results. Gustavo Rodriguez-Rivera, Michael Spertus, Charles Fiterman |
ISMM | 1 |
| 1997 | Nonintrusive Cloning Garbage Collection with Stock Operating System SupportabstractIt is well accepted that automatic garbage collection simplifies programming, promotes modularity, and reduces development effort. However it is commonly believed that these advantages do not counteract the perceived price: excessive overheads, possible long pause times while garbage collections occur, and the need to modify existing code. Even though there are publically available garbage collector implementations that can be used in existing programs, they do not guarantee short pauses, and some modification of the application using them is still required. In this paper we describe a snapshot-at-beginning concurrent garbage collector algorithm and its implementation. This algorithm guarantees short pauses, and can be easily implemented on stock UNIX-like operating systems. Our results show that our collector performs comparable to other garbage collection implementations on uniprocessor machines and outperforms similar collectors on multiprocessor machines. We also show our collector to be competitive in performance with explicit deallocation. Our collector has the added advantage of being non-intrusive. Using a dynamic linking technique and effective root set inferencing, we have been able to successfully run our collector even in commercial programs where only the binary executable and no source code is available. In this paper we describe our algorithm, its implementation, and provide both an algorithmic and a performance comparison between our collector and other similar garbage collectors. ©1997 by John Wiley & Sons, Ltd. Gustavo Rodriguez-Rivera, Vincent F. Russo |
Softw. Pract. Exp. | 1 |