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

Eric Lahtinen

dblp:159/0004 · DBLP profile ↗
← Back
4ranked-venue papers
0as first author
1since 2021 · last 2023
0009-0003-9792-7354ORCID · corroborated

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

Software engineering, systems software and programming languages · 3Systems, architecture and hardware · 1Security and privacy · 1 · 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
3 papers
Software maintenance and evolution · 37% Program analysis · 26% Compilers and program optimization · 21%
Network and information security
1 paper
Systems and software security · 100%

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

TopicWeightPapersLastEvidence papers
Software maintenance and evolution
code reuse
0.312017
CodeCarbonCopy · ESEC/SIGSOFT FSE 2017
Compilers and program optimization › program transformation
code transplantation
0.312017
CodeCarbonCopy · ESEC/SIGSOFT FSE 2017
Program analysis
static analysis
0.312017
CodeCarbonCopy · ESEC/SIGSOFT FSE 2017
Systems and software security
exploitation
0.212015
Targeted Automatic Integer Overflow Discovery Using Goal-Directed Conditional Branch Enforcement · ASPLOS 2015
Systems and software security
vulnerability discovery
0.212015
Targeted Automatic Integer Overflow Discovery Using Goal-Directed Conditional Branch Enforcement · ASPLOS 2015
Debugging and program repair
automated program repair
0.212015
Automatic error elimination by horizontal code transfer across multiple applications · PLDI 2015
Program analysis
dynamic analysis
0.112015
Targeted Automatic Integer Overflow Discovery Using Goal-Directed Conditional Branch Enforcement · ASPLOS 2015

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

fuzzing · 0.4binary instrumentation · 0.4static analysis · 0.3paired execution · 0.3
YearPublicationVenuePosition
2023 BinWrap: Hybrid Protection against Native Node.js Add-ons
abstract
Modern applications, written in high-level programming languages, enjoy the security benefits of memory and type safety. Unfortunately, even a single memory-unsafe library can wreak havoc on the rest of an otherwise safe application, nullifying all the security guarantees offered by the high-level language and its managed runtime. We perform a study across the Node.js ecosystem to understand the use patterns of binary add-ons. Taking the identified trends into account, we propose a new hybrid permission model aimed at protecting both a binary add-on and its language-specific wrapper. The permission model is applied all around a native add-on and is enforced through a hybrid language-binary scheme that interposes on accesses to sensitive resources from all parts of the native library. We infer the add-on’s permission set automatically over both its binary and JavaScript sides, via a set of novel program analyses. Applied to a wide variety of native add-ons, we show that our framework, BinWrap, reduces access to sensitive resources, defends against real-world exploits, and imposes an overhead that ranges between 0.71%–10.4%.
George Christou, Grigoris Ntousakis, Eric Lahtinen, Sotiris Ioannidis, Vasileios P. Kemerlis, Nikos Vasilakis
AsiaCCS3
2017 CodeCarbonCopy
abstract
We present CodeCarbonCopy (CCC), a system for transferring code from a donor application into a recipient application. CCC starts with functionality identified by the developer to transfer into an insertion point (again identified by the developer) in the recipient. CCC uses paired executions of the donor and recipient on the same input file to obtain a translation between the data representation and name space of the recipient and the data representation and name space of the donor. It also implements a static analysis that identifies and removes irrelevant functionality useful in the donor but not in the recipient. We evaluate CCC on eight transfers between six applications. Our results show that CCC can successfully transfer donor functionality into recipient applications.
Stelios Sidiroglou-Douskos, Eric Lahtinen, Anthony Eden, Fan Long, Martin C. Rinard
ESEC/SIGSOFT FSE2
2015 Targeted Automatic Integer Overflow Discovery Using Goal-Directed Conditional Branch Enforcement
abstract
We present a new technique and system, DIODE, for auto- matically generating inputs that trigger overflows at memory allocation sites. DIODE is designed to identify relevant sanity checks that inputs must satisfy to trigger overflows at target memory allocation sites, then generate inputs that satisfy these sanity checks to successfully trigger the overflow. DIODE works with off-the-shelf, production x86 binaries. Our results show that, for our benchmark set of applications, and for every target memory allocation site exercised by our seed inputs (which the applications process correctly with no overflows), either 1) DIODE is able to generate an input that triggers an overflow at that site or 2) there is no input that would trigger an overflow for the observed target expression at that site.
Stelios Sidiroglou-Douskos, Eric Lahtinen, Nathan Rittenhouse, Paolo Piselli, Fan Long, Deokhwan Kim, Martin C. Rinard
ASPLOS2
2015 Automatic error elimination by horizontal code transfer across multiple applications
abstract
We present Code Phage (CP), a system for automatically transferring correct code from donor applications into recipient applications that process the same inputs to successfully eliminate errors in the recipient. Experimental results using seven donor applications to eliminate ten errors in seven recipient applications highlight the ability of CP to transfer code across applications to eliminate out of bounds access, integer overflow, and divide by zero errors. Because CP works with binary donors with no need for source code or symbolic information, it supports a wide range of use cases. To the best of our knowledge, CP is the first system to automatically transfer code across multiple applications.
Stelios Sidiroglou-Douskos, Eric Lahtinen, Fan Long, Martin C. Rinard
PLDI2