A survey of compiler testing

J Chen, J Patra, M Pradel, Y Xiong, H Zhang… - ACM Computing …, 2020 - dl.acm.org
Virtually any software running on a computer has been processed by a compiler or a
compiler-like tool. Because compilers are such a crucial piece of infrastructure for building …

Learn&fuzz: Machine learning for input fuzzing

P Godefroid, H Peleg, R Singh - 2017 32nd IEEE/ACM …, 2017 - ieeexplore.ieee.org
Fuzzing consists of repeatedly testing an application with modified, or fuzzed, inputs with the
goal of finding security vulnerabilities in input-parsing code. In this paper, we show how to …

Bridging the chasm: A survey of software engineering practice in scientific programming

T Storer - ACM Computing Surveys (CSUR), 2017 - dl.acm.org
The use of software is pervasive in all fields of science. Associated software development
efforts may be very large, long lived, and complex, requiring the commitment of significant …

Grammar-based whitebox fuzzing

P Godefroid, A Kiezun, MY Levin - Proceedings of the 29th ACM …, 2008 - dl.acm.org
Whitebox fuzzing is a form of automatic dynamic test generation, based on symbolic
execution and constraint solving, designed for security testing of large applications …

An empirical study of refactoringchallenges and benefits at microsoft

M Kim, T Zimmermann… - IEEE Transactions on …, 2014 - ieeexplore.ieee.org
It is widely believed that refactoring improves software quality and developer productivity.
However, few empirical studies quantitatively assess refactoring benefits or investigate …

A field study of refactoring challenges and benefits

M Kim, T Zimmermann, N Nagappan - Proceedings of the ACM …, 2012 - dl.acm.org
It is widely believed that refactoring improves software quality and developer productivity.
However, few empirical studies quantitatively assess refactoring benefits or investigate …

Using frankencerts for automated adversarial testing of certificate validation in SSL/TLS implementations

C Brubaker, S Jana, B Ray, S Khurshid… - … IEEE Symposium on …, 2014 - ieeexplore.ieee.org
Modern network security rests on the Secure Sockets Layer (SSL) and Transport Layer
Security (TLS) protocols. Distributed systems, mobile and desktop applications, embedded …

Differential symbolic execution

S Person, MB Dwyer, S Elbaum… - Proceedings of the 16th …, 2008 - dl.acm.org
Detecting and characterizing the effects of software changes is a fundamental component of
software maintenance. Version differencing information can be used to perform version …

When does a refactoring induce bugs? an empirical study

G Bavota, B De Carluccio, A De Lucia… - 2012 IEEE 12th …, 2012 - ieeexplore.ieee.org
Refactorings are-as defined by Fowler-behavior preserving source code transformations.
Their main purpose is to improve maintainability or comprehensibility, or also reduce the …

Recommending adaptive changes for framework evolution

B Dagenais, MP Robillard - ACM Transactions on Software Engineering …, 2011 - dl.acm.org
In the course of a framework's evolution, changes ranging from a simple refactoring to a
complete rearchitecture can break client programs. Finding suitable replacements for …