Skip to main content

Showing 1–8 of 8 results for author: Tip, F

Searching in archive cs. Search in all archives.
.
  1. arXiv:2404.09952  [pdf, other

    cs.SE

    LLMorpheus: Mutation Testing using Large Language Models

    Authors: Frank Tip, Jonathan Bell, Max Schaefer

    Abstract: In mutation testing, the quality of a test suite is evaluated by introducing faults into a program and determining whether the program's tests detect them. Most existing approaches for mutation testing involve the application of a fixed set of mutation operators, e.g., replacing a "+" with a "-", or removing a function's body. However, certain types of real-world bugs cannot easily be simulated by… ▽ More

    Submitted 7 March, 2025; v1 submitted 15 April, 2024; originally announced April 2024.

  2. arXiv:2306.08741  [pdf, other

    cs.SE

    A statistical approach for finding property-access errors

    Authors: Ellen Arteca, Max Schäfer, Frank Tip

    Abstract: We study the problem of finding incorrect property accesses in JavaScript where objects do not have a fixed layout, and properties (including methods) can be added, overwritten, and deleted freely throughout the lifetime of an object. Since referencing a non-existent property is not an error in JavaScript, accidental accesses to non-existent properties (caused, perhaps, by a typo or by a misunders… ▽ More

    Submitted 14 June, 2023; originally announced June 2023.

    Comments: 11 pages, 3 figures

  3. arXiv:2302.06527  [pdf, other

    cs.SE cs.AI

    An Empirical Evaluation of Using Large Language Models for Automated Unit Test Generation

    Authors: Max Schäfer, Sarah Nadi, Aryaz Eghbali, Frank Tip

    Abstract: Unit tests play a key role in ensuring the correctness of software. However, manually creating unit tests is a laborious task, motivating the need for automation. Large Language Models (LLMs) have recently been applied to this problem, utilizing additional training or few-shot learning on examples of existing tests. This paper presents a large-scale empirical evaluation on the effectiveness of LLM… ▽ More

    Submitted 11 December, 2023; v1 submitted 13 February, 2023; originally announced February 2023.

  4. arXiv:2110.14162  [pdf, ps, other

    cs.SE

    Stubbifier: Debloating Dynamic Server-Side JavaScript Applications

    Authors: Alexi Turcotte, Ellen Arteca, Ashish Mishra, Saba Alimadadi, Frank Tip

    Abstract: JavaScript is an increasingly popular language for server-side development, thanks in part to the Node.js runtime environment and its vast ecosystem of modules. With the Node.js package manager npm, users are able to easily include external modules as dependencies in their projects. However, npm installs modules with all of their functionality, even if only a fraction is needed, which causes an un… ▽ More

    Submitted 27 October, 2021; originally announced October 2021.

    Comments: 29 pages. This work has been submitted to the Journal on Empirical Software Engineering

  5. arXiv:2107.13708  [pdf, other

    cs.SE

    Learning how to listen: Automatically finding bug patterns in event-driven JavaScript APIs

    Authors: Ellen Arteca, Max Schäfer, Frank Tip

    Abstract: Event-driven programming is widely practiced in the JavaScript community, both on the client side to handle UI events and AJAX requests, and on the server side to accommodate long-running operations such as file or network I/O. Many popular event-based APIs allow event names to be specified as free-form strings without any validation, potentially leading to lost events for which no listener has be… ▽ More

    Submitted 11 February, 2022; v1 submitted 28 July, 2021; originally announced July 2021.

    Comments: 19 pages, 6 figures. Accepted and to appear in IEEE TSE

  6. arXiv:1910.12935  [pdf, other

    cs.PL

    Precise Dataflow Analysis of Event-Driven Applications

    Authors: Ming-Ho Yee, Ayaz Badouraly, Ondřej Lhoták, Frank Tip, Jan Vitek

    Abstract: Event-driven programming is widely used for implementing user interfaces, web applications, and non-blocking I/O. An event-driven program is organized as a collection of event handlers whose execution is triggered by events. Traditional static analysis techniques are unable to reason precisely about event-driven code because they conservatively assume that event handlers may execute in any order.… ▽ More

    Submitted 28 October, 2019; originally announced October 2019.

  7. arXiv:1608.07261  [pdf, other

    cs.PL

    Type Inference for Static Compilation of JavaScript (Extended Version)

    Authors: Satish Chandra, Colin S. Gordon, Jean-Baptiste Jeannin, Cole Schlesinger, Manu Sridharan, Frank Tip, Youngil Choi

    Abstract: We present a type system and inference algorithm for a rich subset of JavaScript equipped with objects, structural subtyping, prototype inheritance, and first-class methods. The type system supports abstract and recursive objects, and is expressive enough to accommodate several standard benchmarks with only minor workarounds. The invariants enforced by the types enable an ahead-of-time compiler to… ▽ More

    Submitted 18 October, 2016; v1 submitted 25 August, 2016; originally announced August 2016.

    Comments: Extended version of OOPSLA 2016 paper of the same name

  8. arXiv:1605.01362  [pdf, other

    cs.PL

    Trace Typing: An Approach for Evaluating Retrofitted Type Systems (Extended Version)

    Authors: Esben Andreasen, Colin S. Gordon, Satish Chandra, Manu Sridharan, Frank Tip, Koushik Sen

    Abstract: Recent years have seen growing interest in the retrofitting of type systems onto dynamically-typed programming languages, in order to improve type safety, programmer productivity, or performance. In such cases, type system developers must strike a delicate balance between disallowing certain coding patterns to keep the type system simple, or including them at the expense of additional complexity a… ▽ More

    Submitted 4 May, 2016; originally announced May 2016.

    Comments: Samsung Research America Technical Report

    Report number: SRA-CSIC-2016-001 ACM Class: F.3.3