Mathias Rud Laursen

dblp:380/9752 · DBLP profile ↗
← Back
1ranked-venue papers
1as first author
1since 2021 · last 2024
0009-0009-4858-9137ORCID · reported

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

Software engineering, systems software and programming languages · 1 · 1 first-author · 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
1 paper
Program analysis · 100%

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

TopicWeightPapersLastEvidence papers
Program analysis › static analysis
call graph construction
0.812024
Reducing Static Analysis Unsoundness with Approximate Interpretation · Proc. ACM Program. Lang. 2024
Program analysis
dynamic analysis
0.812024
Reducing Static Analysis Unsoundness with Approximate Interpretation · Proc. ACM Program. Lang. 2024
Program analysis
static analysis
0.812024
Reducing Static Analysis Unsoundness with Approximate Interpretation · Proc. ACM Program. Lang. 2024
Program analysis › dynamic language analysis
javascript analysis
0.212024
Reducing Static Analysis Unsoundness with Approximate Interpretation · Proc. ACM Program. Lang. 2024

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

static analysis · 0.8dynamic analysis · 0.8
YearPublicationVenuePosition
2024 Reducing Static Analysis Unsoundness with Approximate Interpretation
abstract
Static program analysis for JavaScript is more difficult than for many other programming languages. One of the main reasons is the presence of dynamic property accesses that read and write object properties via dynamically computed property names. To ensure scalability and precision, existing state-of-the-art analyses for JavaScript mostly ignore these operations although it results in missed call edges and aliasing relations. We present a novel dynamic analysis technique named approximate interpretation that is designed to efficiently and fully automatically infer likely determinate facts about dynamic property accesses, in particular those that occur in complex library API initialization code, and how to use the produced information in static analysis to recover much of the abstract information that is otherwise missed. Our implementation of the technique and experiments on 141 real-world Node.js-based JavaScript applications and libraries show that the approach leads to significant improvements in call graph construction. On average the use of approximate interpretation leads to 55.1 % more call edges, 21.8 % more reachable functions, 17.7 % more resolved call sites, and only 1.5 % fewer monomorphic call sites. For 36 JavaScript projects where dynamic call graphs are available, average analysis recall is improved from 75.9 % to 88.1 % with a negligible reduction in precision.
Mathias Rud Laursen, Wenyuan Xu 0007, Anders Møller
Proc. ACM Program. Lang.1