Skip to main content

Showing 1–13 of 13 results for author: Foster, J S

.
  1. Absynthe: Abstract Interpretation-Guided Synthesis

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

    Abstract: 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 underlying solver, an approach difficult for industrial-grade languages. Other approaches couple the semantics of the source language with purpose-built synthesizers, necessarily tying the synthesis engine to a particular… ▽ More

    Submitted 24 April, 2023; v1 submitted 25 February, 2023; originally announced February 2023.

    Comments: 22 pages, 6 figures, this is a preprint of a paper conditionally accepted at Programming Language Design and Implementation (PLDI) 2023

  2. arXiv:2102.13183  [pdf, other

    cs.PL

    RbSyn: Type- and Effect-Guided Program Synthesis

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

    Abstract: In recent years, researchers have explored component-based synthesis, which aims to automatically construct programs that operate by composing calls to existing APIs. However, prior work has not considered efficient synthesis of methods with side effects, e.g., web app methods that update a database. In this paper, we introduce RbSyn, a novel type- and effect-guided synthesis tool for Ruby. An RbS… ▽ More

    Submitted 7 April, 2021; v1 submitted 25 February, 2021; originally announced February 2021.

    Comments: 17 pages, 13 figures, this is a technical report (with appendix) of a paper to appear in Programming Language Design and Implementation (PLDI) 2021

  3. arXiv:1912.00317  [pdf, other

    cs.CR cs.HC

    An Observational Investigation of Reverse Engineers' Processes

    Authors: Daniel Votipka, Seth M. Rabin, Kristopher Micinski, Jeffrey S. Foster, Michelle L. Mazurek

    Abstract: Reverse engineering is a complex process essential to software-security tasks such as vulnerability discovery and malware analysis. Significant research and engineering effort has gone into develo** tools to support reverse engineers. However, little work has been done to understand the way reverse engineers think when analyzing programs, leaving tool developers to make interface design decision… ▽ More

    Submitted 30 November, 2019; originally announced December 2019.

    Comments: 22 pages, 6 figures, to appear at the 2020 USENIX Security Symposium

  4. arXiv:1906.09621  [pdf, other

    cs.LG cs.AI stat.ML

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

    Authors: Candice Schumann, Zhi Lang, Jeffrey S. Foster, John P. Dickerson

    Abstract: 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.g., in-person visits) are more informative, but also more expensive than earlier stages (e.g., resume screenings). Using accepted hiring models and the concept of structured interviews, a best practice in human resource… ▽ More

    Submitted 14 November, 2019; v1 submitted 23 June, 2019; originally announced June 2019.

  5. arXiv:1904.03521  [pdf, other

    cs.PL

    Type-Level Computations for Ruby Libraries

    Authors: Milod Kazerounian, Sankha Narayan Guria, Niki Vazou, Jeffrey S. Foster, David Van Horn

    Abstract: Many researchers have explored ways to bring static ty** to dynamic languages. However, to date, such systems are not precise enough when types depend on values, which often arises when using certain Ruby libraries. For example, the type safety of a database query in Ruby on Rails depends on the table and column names used in the query. To address this issue, we introduce CompRDL, a type system… ▽ More

    Submitted 6 April, 2019; originally announced April 2019.

    Comments: 22 pages, this is a technical report (with appendix) of a paper to appear in Programming Language Design and Implementation (PLDI 2019)

  6. arXiv:1903.12247  [pdf, ps, other

    cs.SE

    iGen: Dynamic Interaction Inference for Configurable Software

    Authors: ThanhVu Nguyen, Ugur Koc, Javran Cheng, Jeffrey S. Foster, Adam A. Porter

    Abstract: 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 to reach certain locations, what configurations to use for testing, etc. Today, acquiring this detailed information requires manual effort that is difficult, expensive, and error prone. In this paper, we propose iGen, a n… ▽ More

    Submitted 28 March, 2019; originally announced March 2019.

    Journal ref: 11th Joint Meeting of the European Software Engineering Conference and the ACM SIGSOFT Symposium on the Foundations of Software Engineering (FSE), pages 655--665. ACM, 2016

  7. Evaluating Design Tradeoffs in Numeric Static Analysis for Java

    Authors: Shiyi Wei, Piotr Mardziel, Andrew Ruef, Jeffrey S. Foster, Michael Hicks

    Abstract: 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 numeric static analysis for real-world Java programs presents a multitude of design choices, each of which may interact with others. For example, an analysis could handle method calls via either a top-down or bottom-up i… ▽ More

    Submitted 24 February, 2018; originally announced February 2018.

  8. arXiv:1711.09281  [pdf, ps, other

    cs.PL

    Refinement Types for Ruby

    Authors: Milod Kazerounian, Niki Vazou, Austin Bourgerie, Jeffrey S. Foster, Emina Torlak

    Abstract: 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 built on top of RDL, a Ruby type checker that provides basic type information for the verification process. RTR works by encoding its verification problems into Rosette, a solver-aided host language. RTR handles mixins throu… ▽ More

    Submitted 25 November, 2017; originally announced November 2017.

  9. arXiv:1709.03441  [pdf, ps, other

    cs.LG

    The Diverse Cohort Selection Problem

    Authors: Candice Schumann, Samsara N. Counts, Jeffrey S. Foster, John P. Dickerson

    Abstract: 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 but noisy resume screenings and expensive but in-depth in-person interviews? We view this problem through the lens of combinatorial pure exploration (CPE) in the multi-armed bandit setting, where a central learning agent… ▽ More

    Submitted 14 March, 2019; v1 submitted 11 September, 2017; originally announced September 2017.

  10. arXiv:1604.03641  [pdf, ps, other

    cs.PL

    Just-in-Time Static Type Checking for Dynamic Languages

    Authors: Brianna M. Ren, Jeffrey S. Foster

    Abstract: 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. While many researchers have developed various systems to bring some of the benefits of static types to dynamic languages, prior approaches have trouble dealing with metaprogramming, which generates code as the program exec… ▽ More

    Submitted 12 April, 2016; originally announced April 2016.

    Comments: 19 pages, 6 figures, 2 tables, 1 appendix, This is a preprint of a paper to appear in Programming Language Design and Implementation (PLDI 2016)

    ACM Class: F.3.2

  11. arXiv:1507.03577  [pdf, other

    cs.PL

    JSKETCH: Sketching for Java

    Authors: **seong Jeon, Xiaokang Qiu, Jeffrey S. Foster, Armando Solar-Lezama

    Abstract: 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 JSKETCH, a tool that brings sketch-based synthesis to Java. JSKETCH's input is a partial Java program that may include holes, which are unknown constants, expression generators, which range over sets of expressions, and cl… ▽ More

    Submitted 13 July, 2015; originally announced July 2015.

    Comments: This research was supported in part by NSF CCF-1139021, CCF- 1139056, CCF-1161775, and the partnership between UMIACS and the Laboratory for Telecommunication Sciences

    ACM Class: I.2.2; F.3.1

  12. arXiv:1504.03711  [pdf, other

    cs.CR

    Checking Interaction-Based Declassification Policies for Android Using Symbolic Execution

    Authors: Kristopher Micinski, Jonathan Fetter-Degges, **seong Jeon, Jeffrey S. Foster, Michael R. Clarkson

    Abstract: 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 protect such data. In this paper, we introduce interaction-based declassification policies, in which the user's interactions with the app constrain the release of sensitive information. Our policies are defined extensionally,… ▽ More

    Submitted 29 July, 2015; v1 submitted 14 April, 2015; originally announced April 2015.

    Comments: This research was supported in part by NSF grants CNS-1064997 and 1421373, AFOSR grants FA9550-12-1-0334 and FA9550-14-1-0334, a partnership between UMIACS and the Laboratory for Telecommunication Sciences, and the National Security Agency

  13. Incremental Computation with Names

    Authors: Matthew A. Hammer, Jana Dunfield, Kyle Headley, Nicholas Labich, Jeffrey S. Foster, Michael Hicks, David Van Horn

    Abstract: Over the past thirty years, there has been significant progress in develo** general-purpose, language-based approaches to incremental computation, which aims to efficiently update the result of a computation when an input is changed. A key design challenge in such approaches is how to provide efficient incremental support for a broad range of programs. In this paper, we argue that first-class na… ▽ More

    Submitted 23 March, 2021; v1 submitted 26 March, 2015; originally announced March 2015.

    Comments: OOPSLA '15, October 25-30, 2015, Pittsburgh, PA, USA

    ACM Class: D.3.1; D.3.3; F.3.2