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

Michelle Thalakottur

dblp:351/6669 · DBLP profile ↗
← Back
2ranked-venue papers
0as first author
2since 2021 · last 2024
0000-0003-4189-0727ORCID · reported

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

Software engineering, systems software and programming languages · 2 · 2 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
Programming languages and type systems · 46% Program analysis · 31% Compilers and program optimization · 23%

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

TopicWeightPapersLastEvidence papers
Compilers and program optimization › intermediate representation
intermediate language
0.812024
RichWasm: Bringing Safe, Fine-Grained, Shared-Memory Interoperability Down to WebAssembly · Proc. ACM Program. Lang. 2024
Programming languages and type systems › language-based security
memory safety
0.812024
RichWasm: Bringing Safe, Fine-Grained, Shared-Memory Interoperability Down to WebAssembly · Proc. ACM Program. Lang. 2024
Programming languages and type systems
type systems
0.812024
RichWasm: Bringing Safe, Fine-Grained, Shared-Memory Interoperability Down to WebAssembly · Proc. ACM Program. Lang. 2024
Program analysis › static analysis
call graph construction
0.712023
That's a Tough Call: Studying the Challenges of Call Graph Construction for WebAssembly · ISSTA 2023
Program analysis
static analysis
0.712023
That's a Tough Call: Studying the Challenges of Call Graph Construction for WebAssembly · ISSTA 2023
Programming languages and type systems
webassembly
0.422024
RichWasm: Bringing Safe, Fine-Grained, Shared-Memory Interoperability Down to WebAssembly · Proc. ACM Program. Lang. 2024
That's a Tough Call: Studying the Challenges of Call Graph Construction for WebAssembly · ISSTA 2023
Compilers and program optimization
compilation target
0.212024
RichWasm: Bringing Safe, Fine-Grained, Shared-Memory Interoperability Down to WebAssembly · Proc. ACM Program. Lang. 2024

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

type safety proof · 0.8coq · 0.8static analyses · 0.7microbenchmarks · 0.7
YearPublicationVenuePosition
2024 RichWasm: Bringing Safe, Fine-Grained, Shared-Memory Interoperability Down to WebAssembly
abstract
Safe, shared-memory interoperability between languageswith different type systems and memory-safety guarantees is an intricate problem as crossing language boundaries may result in memory-safety violations. In this paper, we present RichWasm, a novel richly typed intermediate language designed to serve as a compilation target for typed high-level languages with different memory-safety guarantees. RichWasm is based on WebAssemblyand enables safe shared-memory interoperability by incorporating a variety of type features that support fine-grained memory ownership and sharing. RichWasm is rich enough to serve as a typed compilation target for both typed garbage-collected languages and languages with an ownership-based type system and manually managed memory. We demonstrate this by providing compilers from core ML and L 3 , a type-safe language with strong updates, to RichWasm. RichWasm is compiled to regular Wasm, allowing for use in existing environments. We formalize RichWasm in Coq and prove type safety.
Michael Fitzgibbons, Zoe Paraskevopoulou, Noble Mushtak, Michelle Thalakottur, Jose Sulaiman Manzur, Amal Ahmed 0001
Proc. ACM Program. Lang.4
2023 That's a Tough Call: Studying the Challenges of Call Graph Construction for WebAssembly
abstract
WebAssembly is a low-level bytecode format that powers applications and libraries running in browsers, on the server side, and in standalone runtimes. Call graphs are at the core of many interprocedural static analysis and optimization techniques. However, WebAssembly poses some unique challenges for static call graph construction. Currently, these challenges are neither well understood, nor is it clear to what extent existing techniques address them. This paper presents the first systematic study of WebAssembly-specific challenges for static call graph construction and of the state-of-the-art in call graph analysis. We identify and classify 12 challenges, encode them into a suite of 24 executable microbenchmarks, and measure their prevalence in real-world binaries. These challenges reflect idiosyncrasies of WebAssembly, such as indirect calls via a mutable function table, interactions with the host environment, and unmanaged linear memory. We show that they commonly occur across a set of more than 8,000 real-world binaries. Based on our microbenchmarks and a set of executable real-world binaries, we then study the soundness and precision of four existing static analyses. Our findings include that, surprisingly, all of the existing techniques are unsound, without this being documented anywhere. We envision our work to provide guidance for improving static call graph construction for WebAssembly. In particular, the presented microbenchmarks will enable future work to check whether an analysis supports challenging language features, and to quantify its soundness and precision.
Daniel Lehmann 0002, Michelle Thalakottur, Frank Tip, Michael Pradel
ISSTA2