115 citations · 413 across the 23 of their papers we have counts for
24 papers
Precise and Generalized Robustness Certification for Neural Networks
Yuanyuan Yuan, Shuai Wang, Zhendong Su
The objective of neural network (NN) robustness certification is to determine if a NN changes its predictions when mutations are made to its inputs. While most certification resear…
Intramorphic Testing: A New Approach to the Test Oracle Problem
Manuel Rigger, Zhendong Su
A test oracle determines whether a system behaves correctly for a given input. Automatic testing techniques rely on an automated test oracle to test the system without user interac…
Forest: Structural Code Editing with Multiple Cursors
Philippe Voinov, Manuel Rigger, Zhendong Su
Software developers frequently refactor code. Often, a single logical refactoring change involves changing multiple related components in a source base such as renaming each occurr…
ShapeFlow: Dynamic Shape Interpreter for TensorFlow
Sahil Verma, Zhendong Su
We present ShapeFlow, a dynamic abstract interpreter for TensorFlow which quickly catches tensor shape incompatibility errors, one of the most common bugs in deep learning code. Sh…
Fully Automated Functional Fuzzing of Android Apps for Detecting Non-crashing Logic Bugs
Ting Su, Yichen Yan, Jue Wang +5
Android apps are GUI-based event-driven software and have become ubiquitous in recent years. Obviously, functional correctness is critical for an app's success. However, in additio…
Detecting Optimization Bugs in Database Engines via Non-Optimizing Reference Engine Construction
Manuel Rigger, Zhendong Su
Database Management Systems (DBMS) are used ubiquitously. To efficiently access data, they apply sophisticated optimizations. Incorrect optimizations can result in logic bugs, whic…
Testing Machine Translation via Referential Transparency
Pinjia He, Clara Meister, Zhendong Su
Machine translation software has seen rapid progress in recent years due to the advancement of deep neural networks. People routinely use machine translation software in their dail…
On the Unusual Effectiveness of Type-Aware Operator Mutations for Testing SMT Solvers
Dominik Winterer, Chengyu Zhang, Zhendong Su
We propose type-aware operator mutation, a simple, but unusually effective approach for testing SMT solvers. The key idea is to mutate operators of conforming types within the seed…
Testing Database Engines via Pivoted Query Synthesis
Manuel Rigger, Zhendong Su
Relational databases are used ubiquitously. They are managed by database management systems (DBMS), which allow inserting, modifying, and querying data using a domain-specific lang…
Metamorphic Testing for Object Detection Systems
Shuai Wang, Zhendong Su
Recent advances in deep neural networks (DNNs) have led to object detectors that can rapidly process pictures or videos, and recognize the objects that they contain. Despite the pr…
Learning Blended, Precise Semantic Program Embeddings
Ke Wang, Zhendong Su
Learning neural program embeddings is key to utilizing deep neural networks in program languages research --- precise and efficient program representations enable the application o…
Structure-Invariant Testing for Machine Translation
Pinjia He, Clara Meister, Zhendong Su
In recent years, machine translation software has increasingly been integrated into our daily lives. People routinely use machine translation for various applications, such as desc…
Towards Efficient Data-flow Test Data Generation
Ting Su, Chengyu Zhang, Yichen Yan +5
Data-flow testing (DFT) aims to detect potential data interaction anomalies by focusing on the points at which variables receive values and the points at which these values are use…
Combining Symbolic Execution and Model Checking to Verify MPI Programs
Hengbiao Yu, Zhenbang Chen, Xianjin Fu +5
Message passing is the standard paradigm of programming in high-performance computing. However, verifying Message Passing Interface (MPI) programs is challenging, due to the comple…
Large-Scale Analysis of Framework-Specific Exceptions in Android Apps
Lingling Fan, Ting Su, Sen Chen +5
Mobile apps have become ubiquitous. For app developers, it is a key priority to ensure their apps' correctness and reliability. However, many apps still suffer from occasional to f…
Interactive, Intelligent Tutoring for Auxiliary Constructions in Geometry Proofs
Ke Wang, Zhendong Su
Geometry theorem proving forms a major and challenging component in the K-12 mathematics curriculum. A particular difficult task is to add auxiliary constructions (i.e, additional…
Data-Driven Feedback Generation for Introductory Programming Exercises
Ke Wang, RIshabh Singh, Zhendong Su
This paper introduces the "Search, Align, and Repair" data-driven program repair framework to automate feedback generation for introductory programming exercises. Distinct from exi…
Dynamic Neural Program Embedding for Program Repair
Ke Wang, Rishabh Singh, Zhendong Su
Neural program embeddings have shown much promise recently for a variety of program analysis tasks, including program synthesis, program repair, fault localization, etc. However, m…
Achieving High Coverage for Floating-point Code via Unconstrained Programming (Extended Version)
Zhoulai Fu, Zhendong Su
Achieving high code coverage is essential in testing, which gives us confidence in code quality. Testing floating-point code usually requires painstaking efforts in handling floati…
Mathematical Execution: A Unified Approach for Testing Numerical Code
Zhoulai Fu, Zhendong Su
This paper presents Mathematical Execution (ME), a new, unified approach for testing numerical code. The key idea is to (1) capture the desired testing objective via a representing…
Skeletal Program Enumeration for Rigorous Compiler Testing
Qirun Zhang, Chengnian Sun, Zhendong Su
A program can be viewed as a syntactic structure P (syntactic skeleton) parameterized by a collection of the identifiers V (variable names). This paper introduces the skeletal prog…
Toward Rapid Transformation of Ideas into Software
Mehrdad Afshari, Zhendong Su
A key mission of computer science is to enable people realize their creative ideas as naturally and painlessly as possible. Software engineering is at the center of this mission --…
On the Lexical Distinguishability of Source Code
Martin Velez, Dong Qiu, You Zhou +2
Natural language is robust against noise. The meaning of many sentences survives the loss of words, sometimes many of them. Some words in a sentence, however, cannot be lost withou…
Abstracting Runtime Heaps for Program Understanding
Mark Marron, Cesar Sanchez, Zhendong Su +1
Modern programming environments provide extensive support for inspecting, analyzing, and testing programs based on the algorithmic structure of a program. Unfortunately, support fo…