17 citations · 54 across the 12 of their papers we have counts for
12 papers
Practical compilation of fexprs using partial evaluation: Fexprs can performantly replace macros in purely-functional Lisp
Nathan Braswell, Sharjeel Khan, Santosh Pande
Macros are a common part of Lisp languages, and one of their most lauded features. Much research has gone into making macros both safer and more powerful resulting in developments…
On-the-fly Code Activation for Attack Surface Reduction
Chris Porter, Sharjeel Khan, Santosh Pande
Modern code reuse attacks are taking full advantage of bloated software. Attackers piece together short sequences of instructions in otherwise benign code to carry out malicious ac…
Effective GPU Sharing Under Compiler Guidance
Chao Chen, Chris Porter, Santosh Pande
Modern computing platforms tend to deploy multiple GPUs (2, 4, or more) on a single node to boost system performance, with each GPU having a large capacity of global memory and str…
Near-zero Downtime Recovery from Transient-error-induced Crashes
Chao Chen, Greg Eisenhauer, Santosh Pande
Due to the system scaling, transient errors caused by external noises, e.g., heat fluxes and particle strikes, have become a growing concern for the current and upcoming extreme-sc…
Compiler-Guided Throughput Scheduling for Many-core Machines
Girish Mururu, Sharjeel Khan, Bodhisatwa Chatterjee +4
Typical schedulers in multi-tenancy environments make use of reactive, feedback-oriented mechanisms based on performance counters to avoid resource contention but suffer from detec…
Effective Cache Apportioning for Performance Isolation Under Compiler Guidance
Bodhisatwa Chatterjee, Sharjeel Khan, Santosh Pande
With a growing number of cores in modern high-performance servers, effective sharing of the last level cache (LLC) is more critical than ever. The primary agenda of such systems is…
Not So Fast: Understanding and Mitigating Negative Impacts of Compiler Optimizations on Code Reuse Gadget Sets
Michael D. Brown, Matthew Pruett, Robert Bigelow +2
Despite extensive testing and correctness certification of their functional semantics, a number of compiler optimizations have been shown to violate security guarantees implemented…
A Compiler Assisted Scheduler for Detecting and Mitigating Cache-Based Side Channel Attacks
Sharjeel Khan, Girish Mururu, Santosh Pande
Side channel attacks steal secret keys by cleverly leveraging information leakages and can, therefore, break encryption. Thus, detection and mitigation of side channel attacks is a…
CARVE: Practical Security-Focused Software Debloating Using Simple Feature Set Mappings
Michael D. Brown, Santosh Pande
Software debloating is an emerging field of study aimed at improving the security and performance of software by removing excess library code and features that are not needed by th…
Binary Debloating for Security via Demand Driven Loading
Girish Mururu, Chris Porter, Prithayan Barua +1
Modern software systems heavily use C/C++ based libraries. Because of the weak memory model of C/C++, libraries may suffer from vulnerabilities which can expose the applications to…
Is Less Really More? Why Reducing Code Reuse Gadget Counts via Software Debloating Doesn't Necessarily Indicate Improved Security
Michael D. Brown, Santosh Pande
Nearly all modern software suffers from bloat that negatively impacts its performance and security. To combat this problem, several automated techniques have been proposed to deblo…
Using Ellipsoidal Domains to Analyze Control Systems Software
Fernando Alegre, Eric Feron, Santosh Pande
We propose a methodology for the automatic verification of safety properties of controllers based on dynamical systems, such as those typically used in avionics. In particular, our…