Andreas Zeller - Selected Publications#


D. Steinhöfel and A. Zeller. Input Invariants. ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering (ESEC/FSE), 2022, pp. 583–594. https://doi.org/10.1145/3554336

This paper introduced the ISLa input specification language, combining grammars and constraints for precise fuzzing, debugging, and monitoring of software. This also was a critical ingredient for the 2023 ERC Advanced Grant.

A. Zeller, R. Gopinath, M. Böhme, G. Fraser, and C. Holler. The Fuzzing Book. https://www.fuzzingbook.org

Interactive textbook on software test generation, including 21,000 lines of annotated code implementing and explaining relevant test generation techniques, used in dozens of software engineering courses around the world

A. Zeller. The Debugging Book. https://www.debuggingbook.org

Interactive textbook on automated debugging, including 11,000 lines of annotated code implementing and explaining relevant debugging and repair techniques, used in dozens of software engineering courses around the world

B. Bendrissou, R. Gopinath, A. Zeller. “Synthesizing input grammars”: a replication study. In ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI) 2022, pp. 260–268. https://doi.org/10.1145/3519939.3523716

First replication study ever in the field of Programming Languages, creating quite some controversy.

R. Gopinath, M. Mathis, and A. Zeller. Mining Input Grammars from Dynamic Control Flow. In Joint Meeting of the European Software Engineering Conference and the ACM SIGSOFT Symposium on the Foundations of Software Engineering (ESEC/FSE), 2020. https://doi.org/10.1145/3368089.3409679

This paper introduced the MIMID grammar miner, a tool to automatically determine the input language of a program. So far, MIMID is the most precise and most comprehensive approach in its class.

B. Mathis, R. Gopinath, M. Mera, A. Kampmann, M. Höschele, and A. Zeller. Parser-Directed Fuzzing. In ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI) 2019, pp. 548–560. https://doi.org/10.1145/3314221.3314651

This paper showed how to exploit specifics of input parsers to generate valid inputs, allowing to synthesize complex inputs and languages

A. Gorla, I. Tavecchia, F. Gross, and A. Zeller. Checking App Behavior against App Descriptions. In ACM/IEEE International Conference on Software Engineering (ICSE), 2014, pp. 1025–1035. http://dx.doi.org/10.1145/2568225.2568276

This paper's original contribution was to relate natural text (app descriptions) and code (API usages) in order to detect outliers. It thus paved the way towards modern tools that generate code from natural language.

C. Holler, K. Herzig, and A.Zeller. Fuzzing with Code Fragments. In USENIX Security Symposium, 2012, pp. 38–48. https://www.usenix.org/conference/usenixsecurity12/technical-sessions/presentation/holler

This paper introduced LANGFUZZ, a grammar-based test generator for JavaScript and other languages. By combining and mutating fragments from existing inputs (notably from bug-inducing inputs), LANGFUZZ was extraordinarily effective in finding bugs in JavaScript interpreters – more than 2,600 so far!

T. Zimmermann, P. Weissgerber, S. Diehl, A. Zeller. Mining version histories to guide software changes. IEEE Transactions on Software Engineering 31(6) 2005, pp. 429-445. https://doi.org/10.1109/TSE.2005.72

This paper pioneered the field of mining software archives, analyzing change and bug histories to predict future changes and bugs. With more than 1700 citations, it is one of the most-cited Software Engineering papers in recent history.

A. Zeller and R. Hildebrandt. Simplifying and isolating failure-inducing input. IEEE Transactions on Software Engineering 28(2) 2002, pp. 183-200. https://doi.org/10.1109/32.988498

This paper introduced delta debugging, a technique to automatically reduce a bug-inducing input to a minimum. Delta debugging is one of the most useful and widespread automated debugging techniques.

Imprint Privacy policy « This page (revision-5) was last changed on Tuesday, 16. April 2024, 16:17 by System
  • operated by