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

Subarno Banerjee

dblp:201/4848 · DBLP profile ↗
← Back
5ranked-venue papers
4as first author
1since 2021 · last 2023
0000-0001-5449-2264ORCID · corroborated

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

Software engineering, systems software and programming languages · 4 · 3 first-author · 1 since 2021Systems, architecture and hardware · 1Security and privacy · 1 · 1 first-author

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
4 papers
Program analysis · 60% Programming languages and type systems · 20% Runtime systems and virtual machines · 12%
Network and information security
3 papers
Systems and software security · 100%
Computer architecture, parallel and distributed computing, and storage systems
1 paper
Hardware accelerators and domain-specific architectures · 87% Interconnection networks and networks-on-chip · 13%

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

TopicWeightPapersLastEvidence papers
Program analysis
static analysis
1.232023
Compositional Taint Analysis for Enforcing Security Policies at Scale · ESEC/SIGSOFT FSE 2023
NullAway: practical type-based null safety for Java · ESEC/SIGSOFT FSE 2019
Sound garbage collection for C using pointer provenance · Proc. ACM Program. Lang. 2020
Program analysis › static analysis
taint analysis
0.712023
Compositional Taint Analysis for Enforcing Security Policies at Scale · ESEC/SIGSOFT FSE 2023
Systems and software security
memory safety
0.412020
Sound garbage collection for C using pointer provenance · Proc. ACM Program. Lang. 2020
Systems and software security › memory safety
temporal memory safety
0.412020
Sound garbage collection for C using pointer provenance · Proc. ACM Program. Lang. 2020
Runtime systems and virtual machines
garbage collection
0.412020
Sound garbage collection for C using pointer provenance · Proc. ACM Program. Lang. 2020
Systems and software security
information flow tracking
0.412019
Iodine: Fast Dynamic Taint Tracking Using Rollback-free Optimistic Hybrid Analysis · IEEE Symposium on Security and Privacy 2019
Program analysis › dynamic analysis
dynamic information-flow tracking
0.412019
Iodine: Fast Dynamic Taint Tracking Using Rollback-free Optimistic Hybrid Analysis · IEEE Symposium on Security and Privacy 2019
Programming languages and type systems › type checking
pluggable type checking
0.412019
NullAway: practical type-based null safety for Java · ESEC/SIGSOFT FSE 2019
Programming languages and type systems
type checking
0.412019
NullAway: practical type-based null safety for Java · ESEC/SIGSOFT FSE 2019
Hardware accelerators and domain-specific architectures › machine learning accelerator
DNN training accelerator
0.312017
ScaleDeep: A Scalable Compute Architecture for Learning and Evaluating Deep Networks · ISCA 2017
Hardware accelerators and domain-specific architectures
machine learning accelerator
0.312017
ScaleDeep: A Scalable Compute Architecture for Learning and Evaluating Deep Networks · ISCA 2017

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

object-sensitive analysis · 1.3field-sensitive analysis · 1.3context-sensitive analysis · 1.3compositional analysis · 1.3static analysis · 0.9pointer provenance tracking · 0.9dynamic analysis · 0.9static dataflow analysis · 0.7static data flow analysis · 0.7rollback-free recovery · 0.4profiling · 0.4pluggable type checking · 0.4code annotations · 0.4architectural simulation · 0.3
YearPublicationVenuePosition
2023 Compositional Taint Analysis for Enforcing Security Policies at Scale
abstract
Automated static dataflow analysis is an effective technique for detecting security critical issues like sensitive data leak, and vulnerability to injection attacks. Ensuring high precision and recall requires an analysis that is context, field and object sensitive. However, it is challenging to attain high precision and recall and scale to large industrial code bases. Compositional style analyses in which individual software components are analyzed separately, independent from their usage contexts, compute reusable summaries of components. This is an essential feature when deploying such analyses in CI/CD at code-review time or when scanning deployed container images. In both these settings the majority of software components stay the same between subsequent scans. However, it is not obvious how to extend such analyses to check the kind of contextual taint specifications that arise in practice, while maintaining compositionality.
Subarno Banerjee, Siwei Cui, Michael Emmi, Antonio Filieri, Liana Hadarean, Linghui Luo, Goran Piskachev, Nicolás Rosner, Aritra Sengupta, Omer Tripp, Jingbo Wang 0006
ESEC/SIGSOFT FSE1
2020 Sound garbage collection for C using pointer provenance
abstract
Garbage collection (GC) support for unmanaged languages can reduce programming burden in reasoning about liveness of dynamic objects. It also avoids temporal memory safety violations and memory leaks. Sound GC for weakly-typed languages such as C/C++, however, remains an unsolved problem. Current value-based GC solutions examine values of memory locations to discover the pointers, and the objects they point to. The approach is inherently unsound in the presence of arbitrary type casts and pointer manipulations, which are legal in C/C++. Such language features are regularly used, especially in low-level systems code. In this paper, we propose Dynamic Pointer Provenance Tracking to realize sound GC. We observe that pointers cannot be created out-of-thin-air, and they must have provenance to at least one valid allocation. Therefore, by tracking pointer provenance from the source (e.g., malloc) through both explicit data-flow and implicit control-flow, our GC has sound and precise information to compute the set of all reachable objects at any program state. We discuss several static analysis optimizations, that can be employed during compilation aided with profiling, to significantly reduce the overhead of dynamic provenance tracking from nearly 8× to 16% for well-behaved programs that adhere to the C standards. Pointer provenance based sound GC invocation is also 13% faster and reclaims 6% more memory on average, compared to an unsound value-based GC.
Subarno Banerjee, David Devecsery, Peter M. Chen, Satish Narayanasamy
Proc. ACM Program. Lang.1
2019 NullAway: practical type-based null safety for Java
abstract
NullPointerExceptions (NPEs) are a key source of crashes in modern Java programs. Previous work has shown how such errors can be prevented at compile time via code annotations and pluggable type checking. However, such systems have been difficult to deploy on large-scale software projects, due to significant build-time overhead and / or a high annotation burden. This paper presents NullAway, a new type-based null safety checker for Java that overcomes these issues. NullAway has been carefully engineered for low overhead, so it can run as part of every build. Further, NullAway reduces annotation burden through targeted unsound assumptions, aiming for no false negatives in practice on checked code. Our evaluation shows that NullAway has significantly lower build-time overhead (1.15×) than comparable tools (2.8-5.1×). Further, on a corpus of production crash data for widely-used Android apps built with NullAway, remaining NPEs were due to unchecked third-party libraries (64%), deliberate error suppressions (17%), or reflection and other forms of post-checking code modification (17%), never due to NullAway’s unsound assumptions for checked code.
Subarno Banerjee, Lazaro Clapp, Manu Sridharan
ESEC/SIGSOFT FSE1
2019 Iodine: Fast Dynamic Taint Tracking Using Rollback-free Optimistic Hybrid Analysis
abstract
Dynamic information-flow tracking (DIFT) is useful for enforcing security policies, but rarely used in practice, as it can slow down a program by an order of magnitude. Static program analyses can be used to prove safe execution states and elide unnecessary DIFT monitors, but the performance improvement from these analyses is limited by their need to maintain soundness. In this paper, we present a novel optimistic hybrid analysis (OHA) to significantly reduce DIFT overhead while still guaranteeing sound results. It consists of a predicated whole-program static taint analysis, which assumes likely invariants gathered from profiles to dramatically improve precision. The optimized DIFT is sound for executions in which those invariants hold true, and recovers to a conservative DIFT for executions in which those invariants are false. We show how to overcome the main problem with using OHA to optimize live executions, which is the possibility of unbounded rollbacks. We eliminate the need for any rollback during recovery by tailoring our predicated static analysis to eliminate only safe elisions of noop monitors. Our tool, Iodine, reduces the overhead of DIFT for enforcing security policies to 9%, which is 4.4× lower than that with traditional hybrid analysis, while still being able to be run on live systems.
Subarno Banerjee, David Devecsery, Peter M. Chen, Satish Narayanasamy
IEEE Symposium on Security and Privacy1
2017 ScaleDeep: A Scalable Compute Architecture for Learning and Evaluating Deep Networks
abstract
Deep Neural Networks (DNNs) have demonstrated state-of-the-art performance on a broad range of tasks involving natural language, speech, image, and video processing, and are deployed in many real world applications. However, DNNs impose significant computational challenges owing to the complexity of the networks and the amount of data they process, both of which are projected to grow in the future. To improve the efficiency of DNNs, we propose ScaleDeep, a dense, scalable server architecture, whose processing, memory and interconnect subsystems are specialized to leverage the compute and communication characteristics of DNNs. While several DNN accelerator designs have been proposed in recent years, the key difference is that ScaleDeep primarily targets DNN training, as opposed to only inference or evaluation. The key architectural features from which ScaleDeep derives its efficiency are: (i) heterogeneous processing tiles and chips to match the wide diversity in computational characteristics (FLOPs and Bytes/FLOP ratio) that manifest at different levels of granularity in DNNs, (ii) a memory hierarchy and 3-tiered interconnect topology that is suited to the memory access and communication patterns in DNNs, (iii) a low-overhead synchronization mechanism based on hardware data-flow trackers, and (iv) methods to map DNNs to the proposed architecture that minimize data movement and improve core utilization through nested pipelining. We have developed a compiler to allow any DNN topology to be programmed onto ScaleDeep, and a detailed architectural simulator to estimate performance and energy. The simulator incorporates timing and power models of ScaleDeep's components based on synthesis to Intel's 14nm technology. We evaluate an embodiment of ScaleDeep with 7032 processing tiles that operates at 600 MHz and has a peak performance of 680 TFLOPs (single precision) and 1.35 PFLOPs (half-precision) at 1.4KW. Across 11 state-of-the-art DNNs containing 0.65M-14.9M neurons and 6.8M-145.9M weights, including winners from 5 years of the ImageNet competition, ScaleDeep demonstrates 6x-28x speedup at iso-power over the state-of-the-art performance on GPUs.
Swagath Venkataramani, Ashish Ranjan 0001, Subarno Banerjee, Dipankar Das 0002, Sasikanth Avancha, Ashok Jagannathan, Ajaya Durg, Dheemanth Nagaraj, Bharat Kaul, Pradeep Dubey, Anand Raghunathan
ISCA3