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

Oskar Haarklou Veileborg

dblp:280/5060 · DBLP profile ↗
← Back
2ranked-venue papers
1as first author
1since 2021 · last 2022
—ORCID · none

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

Software engineering, systems software and programming languages · 2 · 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
2 papers
Programming languages and type systems · 32% Concurrent programming · 30% Program analysis · 30%

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

TopicWeightPapersLastEvidence papers
Program analysis › static analysis
abstract interpretation
0.612022
Detecting Blocking Errors in Go Programs using Localized Abstract Interpretation · ASE 2022
Concurrent programming
concurrency bugs
0.612022
Detecting Blocking Errors in Go Programs using Localized Abstract Interpretation · ASE 2022
Programming languages and type systems › language design
language features
0.412020
Eliminating abstraction overhead of Java stream pipelines using ahead-of-time program optimization · Proc. ACM Program. Lang. 2020
Programming languages and type systems › concurrent programming languages
channel-based concurrency
0.212022
Detecting Blocking Errors in Go Programs using Localized Abstract Interpretation · ASE 2022
Runtime systems and virtual machines › virtual machine implementation
bytecode rewriting
0.112020
Eliminating abstraction overhead of Java stream pipelines using ahead-of-time program optimization · Proc. ACM Program. Lang. 2020

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

dynamic analysis · 0.6SMT encoding · 0.6static analysis · 0.4bytecode-to-bytecode transformation · 0.4
YearPublicationVenuePosition
2022 Detecting Blocking Errors in Go Programs using Localized Abstract Interpretation
abstract
Channel-based concurrency is a widely used alternative to shared-memory concurrency but is difficult to use correctly. Common programming errors may result in blocked threads that wait indefinitely. Recent work exposes this as a considerable problem in Go programs and shows that many such errors can be detected automatically using SMT encoding and dynamic analysis techniques.
Oskar Haarklou Veileborg, Georgian-Vlad Saioc, Anders Møller
ASE1
2020 Eliminating abstraction overhead of Java stream pipelines using ahead-of-time program optimization
abstract
Java 8 introduced streams that allow developers to work with collections of data using functional-style operations. Streams are often used in pipelines of operations for processing the data elements, which leads to concise and elegant program code. However, the declarative data processing style comes at a cost. Compared to processing the data with traditional imperative language mechanisms, constructing stream pipelines requires extra heap objects and virtual method calls, which often results in significant run-time overheads. In this work we investigate how to mitigate these overheads to enable processing data in the declarative style without sacrificing performance. We argue that ahead-of-time bytecode-to-bytecode transformation is a suitable approach to optimization of stream pipelines, and we present a static analysis that is designed to guide such transformations. Experimental results show a significant performance gain, and that the technique works for realistic stream pipelines. For 10 of 11 micro-benchmarks, the optimizer is able to produce bytecode that is as effective as hand-written imperative-style code. Additionally, 77% of 6879 stream pipelines found in real-world Java programs are optimized successfully.
Anders Møller, Oskar Haarklou Veileborg
Proc. ACM Program. Lang.2