Demo Data from SIGIR 2026 / reviewers in the wild / expert
Piyus Kedia
dblp:201/4871
· DBLP profile ↗
10ranked-venue papers
3as first author
4since 2021 · last 2026
0000-0002-9569-4089ORCID · verified
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 6 · 3 first-author · 4 since 2021Systems, architecture and hardware · 4Databases, data management, data science and information retrieval · 1
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
5 papers |
Compilers and program optimization · 54% Program analysis · 28% Runtime systems and virtual machines · 11% | |
| Computer architecture, parallel and distributed computing, and storage systems
5 papers |
Memory systems · 31% Storage systems · 30% Cloud and datacenter computing · 23% | |
| Network and information security
3 papers |
Systems and software security · 81% Privacy and data protection · 19% |
Topics — the 19 heaviest of 19, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Program analysis › static analysis
pointer analysis |
1.2 | 2 | 2023 | Rapid: Region-Based Pointer Disambiguation · Proc. ACM Program. Lang. 2023 The road not taken: exploring alias analysis based optimizations missed by the compiler · Proc. ACM Program. Lang. 2022 |
Compilers and program optimization › compiler analysis
pointer disambiguation |
1.2 | 2 | 2023 | Rapid: Region-Based Pointer Disambiguation · Proc. ACM Program. Lang. 2023 The road not taken: exploring alias analysis based optimizations missed by the compiler · Proc. ACM Program. Lang. 2022 |
Systems and software security
memory safety |
0.9 | 2 | 2023 | CGuard: Scalable and Precise Object Bounds Protection for C · ISSTA 2023 Simple, fast, and safe manual memory management · PLDI 2017 |
Memory systems › memory management
memory allocation |
0.8 | 2 | 2023 | Rapid: Region-Based Pointer Disambiguation · Proc. ACM Program. Lang. 2023 The road not taken: exploring alias analysis based optimizations missed by the compiler · Proc. ACM Program. Lang. 2022 |
Storage systems › file systems
cluster file systems |
0.8 | 2 | 2020 | INSTalytics: Cluster Filesystem Co-design for Big-data Analytics · ACM Trans. Storage 2020 INSTalytics: Cluster Filesystem Co-design for Big-data Analytics · FAST 2019 |
Compilers and program optimization
loop optimization |
0.8 | 2 | 2023 | The road not taken: exploring alias analysis based optimizations missed by the compiler · Proc. ACM Program. Lang. 2022 Rapid: Region-Based Pointer Disambiguation · Proc. ACM Program. Lang. 2023 |
Systems and software security › memory safety
spatial memory safety |
0.7 | 1 | 2023 | CGuard: Scalable and Precise Object Bounds Protection for C · ISSTA 2023 |
Compilers and program optimization › code motion
loop-invariant code motion |
0.6 | 1 | 2022 | The road not taken: exploring alias analysis based optimizations missed by the compiler · Proc. ACM Program. Lang. 2022 |
Cloud and datacenter computing
big data analytics |
0.5 | 2 | 2020 | INSTalytics: Cluster Filesystem Co-design for Big-data Analytics · FAST 2019 INSTalytics: Cluster Filesystem Co-design for Big-data Analytics · ACM Trans. Storage 2020 |
Parallel and multicore computing
data distribution |
0.4 | 1 | 2020 | INSTalytics: Cluster Filesystem Co-design for Big-data Analytics · ACM Trans. Storage 2020 |
Privacy and data protection
data confidentiality |
0.4 | 1 | 2019 | ConfLLVM: A Compiler for Enforcing Data Confidentiality in Low-Level Code · EuroSys 2019 |
Runtime systems and virtual machines
manual memory management |
0.3 | 1 | 2017 | Simple, fast, and safe manual memory management · PLDI 2017 |
Operating systems › resource management
memory management |
0.3 | 1 | 2017 | Simple, fast, and safe manual memory management · PLDI 2017 |
Runtime systems and virtual machines › binary translation
dynamic binary translation |
0.2 | 1 | 2013 | Fast dynamic binary translation for the kernel · SOSP 2013 |
Program analysis › data flow analysis
static dataflow analysis |
0.1 | 1 | 2019 | ConfLLVM: A Compiler for Enforcing Data Confidentiality in Low-Level Code · EuroSys 2019 |
Runtime systems and virtual machines
garbage collection |
0.1 | 1 | 2017 | Simple, fast, and safe manual memory management · PLDI 2017 |
Operating systems
kernel instrumentation |
0.0 | 1 | 2013 | Fast dynamic binary translation for the kernel · SOSP 2013 |
Cloud and datacenter computing
virtualization |
0.0 | 1 | 2013 | Fast dynamic binary translation for the kernel · SOSP 2013 |
Cloud and datacenter computing › virtualization
virtual machine monitor |
0.0 | 1 | 2013 | Fast dynamic binary translation for the kernel · SOSP 2013 |
Methods — techniques the papers use, named apart from their topics
dynamic checks · 2.5region-based allocation · 1.3profiling · 1.3scalar evolution analysis · 1.1code versioning · 1.1taint analysis · 0.8runtime instrumentation · 0.8control-flow integrity · 0.8object-based bounds checking · 0.7SGXBounds · 0.7sliced-read API · 0.4selective caching · 0.4heterogeneous replication · 0.4cluster filesystem co-design · 0.4dynamic binary translation · 0.3
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2026 | HORIZON: Estimating Alias Analysis Precision Bounds and Their Impact on PerformanceabstractAlias analysis is a technique to identify whether a memory location can be accessed in more than one way. An ideal alias analysis implementation should be both precise and scalable. However, in practice, implementations of alias analysis have to make a trade-off between precision and scalability. The alias analysis implementations that perform inter-procedural analysis are more precise (answer a higher number of alias queries with certainty), but expensive, making them infeasible for practical use. Most compiler developers opt for intra-procedural analysis over inter-procedural, thereby compromising the precision of alias analysis implementations to achieve scalability. For compilers, this compromise leads to a loss in optimization opportunities, limiting the performance achievable by the compiled program. Khushboo Chitre, Piyus Kedia, Rahul Purandare |
CC | 2 |
| 2023 | CGuard: Scalable and Precise Object Bounds Protection for CabstractSpatial safety violations are the root cause of many security attacks and unexpected behavior of applications. Existing techniques to enforce spatial safety work broadly at either object or pointer granularity. Object-based approaches tend to incur high CPU overheads, whereas pointer-based approaches incur both high CPU and memory overheads. SGXBounds, an object-based approach, provides precise out-of-bounds protection for objects at a lower overhead compared to other tools with similar precision. However, a major drawback of this approach is that it cannot support address space larger than 32-bit. Piyus Kedia, Rahul Purandare, Udit Kumar Agarwal, Rishabh |
ISSTA | 1 |
| 2023 | Rapid: Region-Based Pointer DisambiguationabstractInterprocedural alias analyses often sacrifice precision for scalability. Thus, modern compilers such as GCC and LLVM implement more scalable but less precise intraprocedural alias analyses. This compromise makes the compilers miss out on potential optimization opportunities, affecting the performance of the application. Modern compilers implement loop-versioning with dynamic checks for pointer disambiguation to enable the missed optimizations. Polyhedral access range analysis and symbolic range analysis enable 𝑂 (1) range checks for non-overlapping of memory accesses inside loops. However, these approaches work only for the loops in which the loop bounds are loop invariants. To address this limitation, researchers proposed a technique that requires 𝑂 (𝑙𝑜𝑔 𝑛) memory accesses for pointer disambiguation. Others improved the performance of dynamic checks to single memory access by constraining the object size and alignment. However, the former approach incurs noticeable overhead due to its dynamic checks, whereas the latter has a noticeable allocator overhead. Thus, scalability remains a challenge. In this work, we present a tool, Rapid, that further reduces the overheads of the allocator and dynamic checks proposed in the existing approaches. The key idea is to identify objects that need disambiguation checks using a profiler and allocate them in different regions, which are disjoint memory areas. The disambiguation checks simply compare the regions corresponding to the objects. The regions are aligned such that the top 32 bits in the addresses of any two objects allocated in different regions are always different. As a consequence, the dynamic checks do not require any memory access to ensure that the objects belong to different regions, making them efficient. Rapid achieved a maximum performance benefit of around 52.94% for Polybench and 1.88% for CPU SPEC 2017 benchmarks. The maximum CPU overhead of our allocator is 0.57% with a geometric mean of -0.2% for CPU SPEC 2017 benchmarks. Due to the low overhead of the allocator and dynamic checks, Rapid could improve the performance of 12 out of 16 CPU SPEC 2017 benchmarks. In contrast, a state-of-the-art approach used in the comparison could improve only five CPU SPEC 2017 benchmarks. Khushboo Chitre, Piyus Kedia, Rahul Purandare |
Proc. ACM Program. Lang. | 2 |
| 2022 | The road not taken: exploring alias analysis based optimizations missed by the compilerabstractContext-sensitive inter-procedural alias analyses are more precise than intra-procedural alias analyses. However, context-sensitive inter-procedural alias analyses are not scalable. As a consequence, most of the production compilers sacrifice precision for scalability and implement intra-procedural alias analysis. The alias analysis is used by many compiler optimizations, including loop transformations. Due to the imprecision of alias analysis, the program’s performance may suffer, especially in the presence of loops. Previous work proposed a general approach based on code-versioning with dynamic checks to disambiguate pointers at runtime. However, the overhead of dynamic checks in this approach is O(log n), which is substantially high to enable interesting optimizations. Other suggested approaches, e.g., polyhedral and symbolic range analysis, have O(1) overheads, but they only work for loops with certain constraints. The production compilers, such as LLVM and GCC, use scalar evolution analysis to compute an O(1) range check for loops to resolve memory dependencies at runtime. However, this approach also can only be applied to loops with certain constraints. In this work, we present our tool, Scout, that can disambiguate two pointers at runtime using single memory access. Scout is based on the key idea to constrain the allocation size and alignment during memory allocations. Scout can also disambiguate array accesses within a loop for which the existing O(1) range checks technique cannot be applied. In addition, Scout uses feedback from static optimizations to reduce the number of dynamic checks needed for optimizations. Our technique enabled new opportunities for loop-invariant code motion, dead store elimination, loop vectorization, and load elimination in an already optimized code. Our performance improvements are up to 51.11% for Polybench and up to 0.89% for CPU SPEC 2017 suites. The geometric means for our allocator’s CPU and memory overheads for CPU SPEC 2017 benchmarks are 1.05%, and 7.47%, respectively. For Polybench benchmarks, the geometric mean of CPU and memory overheads are 0.21% and 0.13%, respectively. Khushboo Chitre, Piyus Kedia, Rahul Purandare |
Proc. ACM Program. Lang. | 2 |
| 2020 | INSTalytics: Cluster Filesystem Co-design for Big-data AnalyticsabstractWe present the design, implementation, and evaluation of INSTalytics , a co-designed stack of a cluster file system and the compute layer, for efficient big-data analytics in large-scale data centers. INSTalytics amplifies the well-known benefits of data partitioning in analytics systems; instead of traditional partitioning on one dimension, INSTalytics enables data to be simultaneously partitioned on four different dimensions at the same storage cost, enabling a larger fraction of queries to benefit from partition filtering and joins without network shuffle. To achieve this, INSTalytics uses compute-awareness to customize the three-way replication that the cluster file system employs for availability. A new heterogeneous replication layout enables INSTalytics to preserve the same recovery cost and availability as traditional replication. INSTalytics also uses compute-awareness to expose a new sliced-read API that improves performance of joins by enabling multiple compute nodes to read slices of a data block efficiently via co-ordinated request scheduling and selective caching at the storage nodes. We have built a prototype implementation of INSTalytics in a production analytics stack, and we show that recovery performance and availability is similar to physical replication, while providing significant improvements in query performance, suggesting a new approach to designing cloud-scale big-data analytics systems. Muthian Sivathanu, Midhul Vuppalapati, Bhargav S. Gulavani, Kaushik Rajan, Jyoti Leeka, Jayashree Mohan, Piyus Kedia |
ACM Trans. Storage | 7 |
| 2019 | ConfLLVM: A Compiler for Enforcing Data Confidentiality in Low-Level CodeabstractWe present a compiler-based scheme to protect the confidentiality of sensitive data in low-level applications (e.g. those written in C) in the presence of an active adversary. In our scheme, the programmer marks sensitive data by lightweight annotations on the top-level definitions in the source code. The compiler then uses a combination of static dataflow analysis, runtime instrumentation, and a novel taint-aware form of control-flow integrity to prevent data leaks even in the presence of low-level attacks. To reduce runtime overheads, the compiler uses a novel memory layout. Ajay Brahmakshatriya, Piyus Kedia, Derrick Paul McKee, Deepak Garg 0001, Akash Lal, Aseem Rastogi, Hamed Nemati, Anmol Panda, Pratik Bhatu |
EuroSys | 2 |
| 2019 | INSTalytics: Cluster Filesystem Co-design for Big-data Analytics
Muthian Sivathanu, Midhul Vuppalapati, Bhargav S. Gulavani, Kaushik Rajan, Jyoti Leeka, Jayashree Mohan, Piyus Kedia |
FAST | 7 |
| 2017 | Simple, fast, and safe manual memory managementabstractSafe programming languages are readily available, but many applications continue to be written in unsafe languages because of efficiency. As a consequence, many applications continue to have exploitable memory safety bugs. Since garbage collection is a major source of inefficiency in the implementation of safe languages, replacing it with safe manual memory management would be an important step towards solving this problem. Piyus Kedia, Manuel Costa, Matthew J. Parkinson, Kapil Vaswani, Dimitrios Vytiniotis, Aaron Blankstein |
PLDI | 1 |
| 2015 | Improving Remote Desktopping Through Adaptive Record/ReplayabstractAccessing the display of a computer remotely, is popularly called remote desktopping. Remote desktopping software installs at both the user-facing client computer and the remote server computer; it simulates user's input events at server, and streams the corresponding display changes to client, thus providing an illusion to the user of controlling the remote machine using local input devices (e.g., keyboard/mouse). Many such remote desktopping tools are widely used. We show that if the remote server is a virtual machine (VM) and the client is reasonably powerful (e.g., current laptop and desktop grade hardware), VM deterministic replay capabilities can be used adaptively to significantly reduce the network bandwidth consumption and server-side CPU utilization of a remote desktopping tool. We implement these optimizations in a tool based on Qemu/KVM virtualization platform and VNC remote desktopping platform. Our tool reduces VNC's network bandwidth consumption by up to 9x and server-side CPU utilization by up to 56% for popular graphics-intensive applications. On the flip side, our techniques consume higher CPU/memory/disk resources at the client. The effect of our optimizations on user-perceived latency is negligible. Shehbaz Jaffer, Piyus Kedia, Sorav Bansal |
VEE | 2 |
| 2013 | Fast dynamic binary translation for the kernelabstractDynamic binary translation (DBT) is a powerful technique with several important applications. System-level binary translators have been used for implementing a Virtual Machine Monitor [2] and for instrumentation in the OS kernel [10]. In current designs, the performance overhead of binary translation on kernel-intensive workloads is high. e.g., over 10x slowdowns were reported on the syscall nanobenchmark in [2], 2-5x slowdowns were reported on lmbench microbenchmarks in [10]. These overheads are primarily due to the extra work required to correctly handle kernel mechanisms like interrupts, exceptions, and physical CPU concurrency. Piyus Kedia, Sorav Bansal |
SOSP | 1 |