activity
20152023
most citedEvaluating Design Tradeoffs in Numeric Static Analysis for Java

14 citations · 31 across the 8 of their papers we have counts for

collaborators

12 papers

cs.PL2023★ 6 cited

Absynthe: Abstract Interpretation-Guided Synthesis

Sankha Narayan Guria, Jeffrey S. Foster, David Van Horn

Synthesis tools have seen significant success in recent times. However, past approaches often require a complete and accurate embedding of the source language in the logic of the u…

cs.PL2021

RbSyn: Type- and Effect-Guided Program Synthesis

Sankha Narayan Guria, Jeffrey S. Foster, David Van Horn

In recent years, researchers have explored component-based synthesis, which aims to automatically construct programs that operate by composing calls to existing APIs. However, prio…

cs.CR2019★ 3 cited

An Observational Investigation of Reverse Engineers' Processes

Daniel Votipka, Seth M. Rabin, Kristopher Micinski +2

Reverse engineering is a complex process essential to software-security tasks such as vulnerability discovery and malware analysis. Significant research and engineering effort has…

cs.LG2019★ 5 cited

Making the Cut: A Bandit-based Approach to Tiered Interviewing

Candice Schumann, Zhi Lang, Jeffrey S. Foster +1

Given a huge set of applicants, how should a firm allocate sequential resume screenings, phone interviews, and in-person site visits? In a tiered interview process, later stages (e…

cs.PL2019

Type-Level Computations for Ruby Libraries

Milod Kazerounian, Sankha Narayan Guria, Niki Vazou +2

Many researchers have explored ways to bring static typing to dynamic languages. However, to date, such systems are not precise enough when types depend on values, which often aris…

cs.SE2019

iGen: Dynamic Interaction Inference for Configurable Software

ThanhVu Nguyen, Ugur Koc, Javran Cheng +2

To develop, analyze, and evolve today's highly configurable software systems, developers need deep knowledge of a system's configuration options, e.g., how options need to be set t…

cs.PL2018★ 14 cited

Evaluating Design Tradeoffs in Numeric Static Analysis for Java

Shiyi Wei, Piotr Mardziel, Andrew Ruef +2

Numeric static analysis for Java has a broad range of potentially useful applications, including array bounds checking and resource usage estimation. However, designing a scalable…

cs.PL2017

Refinement Types for Ruby

Milod Kazerounian, Niki Vazou, Austin Bourgerie +2

Refinement types are a popular way to specify and reason about key program properties. In this paper, we introduce RTR, a new system that adds refinement types to Ruby. RTR is buil…

cs.LG2017

The Diverse Cohort Selection Problem

Candice Schumann, Samsara N. Counts, Jeffrey S. Foster +1

How should a firm allocate its limited interviewing resources to select the optimal cohort of new employees from a large set of job applicants? How should that firm allocate cheap…

cs.PL2016

Just-in-Time Static Type Checking for Dynamic Languages

Brianna M. Ren, Jeffrey S. Foster

Dynamic languages such as Ruby, Python, and JavaScript have many compelling benefits, but the lack of static types means subtle errors can remain latent in code for a long time. Wh…

cs.PL2015★ 3 cited

JSKETCH: Sketching for Java

Jinseong Jeon, Xiaokang Qiu, Jeffrey S. Foster +1

Sketch-based synthesis, epitomized by the SKETCH tool, lets developers synthesize software starting from a partial program, also called a sketch or template. This paper presents JS…

cs.CR2015

Checking Interaction-Based Declassification Policies for Android Using Symbolic Execution

Kristopher Micinski, Jonathan Fetter-Degges, Jinseong Jeon +2

Mobile apps can access a wide variety of secure information, such as contacts and location. However, current mobile platforms include only coarse access control mechanisms to prote…