!!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.\\ \\[{ALLOW view All}][{ALLOW edit azeller}][{ALLOW upload azeller}][{ALLOW comment All}]