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

Abhishek Rose

dblp:280/5106 · DBLP profile ↗
← Back
3ranked-venue papers
1as first author
2since 2021 · last 2024
0009-0002-2222-8906ORCID · corroborated

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

Software engineering, systems software and programming languages · 3 · 1 first-author · 2 since 2021Systems, architecture and hardware · 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
2 papers
Compilers and program optimization · 68% Program verification · 26% Program analysis · 6%

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

TopicWeightPapersLastEvidence papers
Compilers and program optimization › verified compilation
translation validation
1.222024
Modeling Dynamic (De)Allocations of Local Memory for Translation Validation · Proc. ACM Program. Lang. 2024
Counterexample-guided correlation algorithm for translation validation · Proc. ACM Program. Lang. 2020
Compilers and program optimization
compiler correctness
0.812024
Modeling Dynamic (De)Allocations of Local Memory for Translation Validation · Proc. ACM Program. Lang. 2024
Program verification › refinement
refinement proof
0.812024
Modeling Dynamic (De)Allocations of Local Memory for Translation Validation · Proc. ACM Program. Lang. 2024
Compilers and program optimization
verified compilation
0.412020
Counterexample-guided correlation algorithm for translation validation · Proc. ACM Program. Lang. 2020
Program verification
SMT-based verification
0.212024
Modeling Dynamic (De)Allocations of Local Memory for Translation Validation · Proc. ACM Program. Lang. 2024
Program analysis
static analysis
0.212024
Modeling Dynamic (De)Allocations of Local Memory for Translation Validation · Proc. ACM Program. Lang. 2024
Compilers and program optimization
intermediate representation
0.112020
Counterexample-guided correlation algorithm for translation validation · Proc. ACM Program. Lang. 2020

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

first-order logic encoding · 0.8SMT solving · 0.8counterexample-guided abstraction refinement · 0.4
YearPublicationVenuePosition
2024 Modeling Dynamic (De)Allocations of Local Memory for Translation Validation
abstract
End-to-End Translation Validation is the problem of verifying the executable code generated by a compiler against the corresponding input source code for a single compilation. This becomes particularly hard in the presence of dynamically-allocated local memory where addresses of local memory may be observed by the program. In the context of validating the translation of a C procedure to executable code, a validator needs to tackle constant-length local arrays, address-taken local variables, address-taken formal parameters, variable-length local arrays, procedure-call arguments (including variadic arguments), and the alloca () operator. We provide an execution model, a definition of refinement, and an algorithm to soundly convert a refinement check into first-order logic queries that an off-the-shelf SMT solver can handle efficiently. In our experiments, we perform blackbox translation validation of C procedures (with up to 100+ SLOC), involving these local memory allocation constructs, against their corresponding assembly implementations (with up to 200+ instructions) generated by an optimizing compiler with complex loop and vectorizing transformations.
Abhishek Rose, Sorav Bansal
Proc. ACM Program. Lang.1
2022 Automatic Generation of Debug Headers through BlackBox Equivalence Checking
abstract
Modern compiler optimization pipelines are large and complex, and it is rather cumbersome and error-prone for compiler developers to preserve debugging information across optimization passes. An optimization can add, remove, or reorder code and variables, which makes it difficult to associate the generated code statements and values with the source code statements and values. Moreover recent proposals for automatic generation of optimizations (e.g., through search algorithms) have not previously considered the preservation of debugging information.We demonstrate the application of a blackbox equivalence checker to automatically populate the debugging information in the debug headers of the optimized executables compiled from C programs. A blackbox equivalence checker can automatically compute equivalence proofs between the original source code and the optimized executable code without the knowledge of the exact transformations performed by the compiler/optimizer. We present an algorithm that uses these formal equivalence proofs to improve the executable’s debugging headers. We evaluate this approach on benchmarks derived from the Testsuite of Vectorizing Compilers (TSVC) compiled through three different compilers: GCC, ClangLLVM, and ICC. We demonstrate significant improvements in the debuggability of the optimized executable code in these experiments. The benefits of these improvements can be transparently realized through any standard debugger, such as GDB, to debug the updated executable.
Vaibhav Kiran Kurhe, Pratik Karia, Shubhani Gupta, Abhishek Rose, Sorav Bansal
CGO4
2020 Counterexample-guided correlation algorithm for translation validation
abstract
Automatic translation validation across the unoptimized intermediate representation (IR) of the original source code and the optimized executable assembly code is a desirable capability, and has the potential to compete with existing approaches to verified compilation such as CompCert. A difficult subproblem is the automatic identification of the correlations across the transitions between the two programs' respective locations. We present a counterexample-guided algorithm to identify these correlations in a robust and scalable manner. Our algorithm has both theoretical and empirical advantages over prior work in this problem space.
Shubhani Gupta, Abhishek Rose, Sorav Bansal
Proc. ACM Program. Lang.2