activity
20182026
most citedQED at Large: A Survey of Engineering of Formally Verified Software

49 citations · 89 across the 20 of their papers we have counts for

collaborators

22 papers

cs.SE2026

Retrofitting Code Using LLMs to Support Exceptional Behavior

Linghan Zhong, Jiyang Zhang, Jayanth Srinivasa +2

Exception Related Code (ERC), which includes throw statements, conditions (if statements) that guard those throw statements, and try/catch blocks, is an essential component of soft…

cs.SE2025★ 1 cited

A Tool for Generating Exceptional Behavior Tests With Large Language Models

Linghan Zhong, Samuel Yuan, Jiyang Zhang +4

Exceptional behavior tests (EBTs) are crucial in software development for verifying that code correctly handles unwanted events and throws appropriate exceptions. However, prior re…

cs.SE2024★ 3 cited

exLong: Generating Exceptional Behavior Tests with Large Language Models

Jiyang Zhang, Yu Liu, Pengyu Nie +2

Many popular programming languages, including C#, Java, and Python, support exceptions. Exceptions are thrown during program execution if an unwanted event happens, e.g., a method…

cs.SE2024★ 2 cited

Pattern-Based Peephole Optimizations with Java JIT Tests

Zhiqiang Zang, Aditya Thimmaiah, Milos Gligoric

We present JOG, a framework that facilitates developing Java JIT peephole optimizations alongside JIT tests. JOG enables developers to write a pattern, in Java itself, that specifi…

cs.SE2023

Multilingual Code Co-Evolution Using Large Language Models

Jiyang Zhang, Pengyu Nie, Junyi Jessy Li +1

Many software projects implement APIs and algorithms in multiple programming languages. Maintaining such projects is tiresome, as developers have to ensure that any change (e.g., a…

cs.SE2023

pytest-inline: An Inline Testing Tool for Python

Yu Liu, Zachary Thurston, Alan Han +3

We present pytest-inline, the first inline testing framework for Python. We recently proposed inline tests to make it easier to test individual program statements. But, there is no…

cs.SE2023★ 1 cited

Learning Deep Semantics for Test Completion

Pengyu Nie, Rahul Banerjee, Junyi Jessy Li +2

Writing tests is a time-consuming yet essential task during software development. We propose to leverage recent advances in deep learning for text and code generation to assist dev…

cs.SE2022★ 1 cited

Using Developer Discussions to Guide Fixing Bugs in Software

Sheena Panthaplackel, Milos Gligoric, Junyi Jessy Li +1

Automatically fixing software bugs is a challenging task. While recent work showed that natural language context is useful in guiding bug-fixing models, the approach required promp…

cs.SE2022★ 5 cited

CoditT5: Pretraining for Source Code and Natural Language Editing

Jiyang Zhang, Sheena Panthaplackel, Pengyu Nie +2

Pretrained language models have been shown to be effective in many software-related generation tasks; however, they are not well-suited for editing tasks as they are not designed t…

cs.SE2022

Inline Tests

Yu Liu, Pengyu Nie, Owolabi Legunsen +1

Unit tests are widely used to check source code quality, but they can be too coarse-grained or ill-suited for testing individual program statements. We introduce inline tests to ma…

cs.PL2022★ 21 cited

Compiler Testing using Template Java Programs

Zhiqiang Zang, Nathan Wiatrek, Milos Gligoric +1

We present JAttack, a framework that enables template-based testing for compilers. Using JAttack, a developer writes a template program that describes a set of programs to be gener…

cs.CL2021

Learning to Describe Solutions for Bug Reports Based on Developer Discussions

Sheena Panthaplackel, Junyi Jessy Li, Milos Gligoric +1

When a software bug is reported, developers engage in a discussion to collaboratively resolve it. While the solution is likely formulated within the discussion, it is often buried…

cs.SE2021

Impact of Evaluation Methodologies on Code Summarization

Pengyu Nie, Jiyang Zhang, Junyi Jessy Li +2

There has been a growing interest in developing machine learning (ML) models for code summarization tasks, e.g., comment generation and method naming. Despite substantial increase…

cs.CL2021★ 2 cited

Learning to Generate Code Comments from Class Hierarchies

Jiyang Zhang, Sheena Panthaplackel, Pengyu Nie +3

Descriptive code comments are essential for supporting code comprehension and maintenance. We propose the task of automatically generating comments for overriding methods. We formu…

cs.PL2021

Roosterize: Suggesting Lemma Names for Coq Verification Projects Using Deep Learning

Pengyu Nie, Karl Palmskog, Junyi Jessy Li +1

Naming conventions are an important concern in large verification projects using proof assistants, such as Coq. In particular, lemma names are used by proof engineers to effectivel…

cs.SE2020★ 1 cited

Deep Just-In-Time Inconsistency Detection Between Comments and Source Code

Sheena Panthaplackel, Junyi Jessy Li, Milos Gligoric +1

Natural language comments convey key aspects of source code such as implementation, usage, and pre- and post-conditions. Failure to update comments accordingly when the correspondi…

cs.HC2020

Learning to Format Coq Code Using Language Models

Pengyu Nie, Karl Palmskog, Junyi Jessy Li +1

Should the final right bracket in a record declaration be on a separate line? Should arguments to the rewrite tactic be separated by a single space? Coq code tends to be written in…

cs.CL2020

Learning to Update Natural Language Comments Based on Code Changes

Sheena Panthaplackel, Pengyu Nie, Milos Gligoric +2

We formulate the novel task of automatically updating an existing natural language comment based on changes in the body of code it accompanies. We propose an approach that learns t…

cs.PL2020★ 2 cited

Deep Generation of Coq Lemma Names Using Elaborated Terms

Pengyu Nie, Karl Palmskog, Junyi Jessy Li +1

Coding conventions for naming, spacing, and other essentially stylistic properties are necessary for developers to effectively understand, review, and modify source code in large s…

cs.LO2020★ 49 cited

QED at Large: A Survey of Engineering of Formally Verified Software

Talia Ringer, Karl Palmskog, Ilya Sergey +2

Development of formal proofs of correctness of programs can increase actual and perceived reliability and facilitate better understanding of program specifications and their underl…

cs.CL2019

Associating Natural Language Comment and Source Code Entities

Sheena Panthaplackel, Milos Gligoric, Raymond J. Mooney +1

Comments are an integral part of software development; they are natural language descriptions associated with source code elements. Understanding explicit associations can be usefu…

cs.SE2018★ 1 cited

Executable Trigger-Action Comments

Pengyu Nie, Rishabh Rai, Junyi Jessy Li +3

Natural language elements, e.g., todo comments, are frequently used to communicate among the developers and to describe tasks that need to be performed (actions) when specific cond…