Search Results

Documents authored by Garus, Marcel


Artifact
Software
Martinaise

Authors: Marcel Garus


Abstract

Cite as

Marcel Garus. Martinaise (Software, Source Code). Schloss Dagstuhl – Leibniz-Zentrum für Informatik (2025)


Copy BibTex To Clipboard

@misc{dagstuhl-artifact-24697,
   title = {{Martinaise}}, 
   author = {Garus, Marcel},
   note = {Software, swhId: \href{https://archive.softwareheritage.org/swh:1:dir:8a3acf542aa172ae7ccc3a1384b6fd5303d42f61;origin=https://github.com/MarcelGarus/martinaise;visit=swh:1:snp:1cd4f16547225178406d94c45095603b0c33dd43;anchor=swh:1:rev:aac443c4d6f5f439af828fca4fbcdf80ac365d76}{\texttt{swh:1:dir:8a3acf542aa172ae7ccc3a1384b6fd5303d42f61}} (visited on 2025-09-17)},
   url = {https://github.com/MarcelGarus/martinaise},
   doi = {10.4230/artifacts.24697},
}
Document
Fuzzing as Editor Feedback

Authors: Marcel Garus, Jens Lincke, and Robert Hirschfeld

Published in: OASIcs, Volume 134, Companion Proceedings of the 9th International Conference on the Art, Science, and Engineering of Programming (Programming 2025)


Abstract
Live programming requires concrete examples, but coming up with examples takes effort. However, there are ways to execute code without specifying examples, such as fuzzing. Fuzzing is a technique that synthesizes program inputs to find bugs in security-critical software. While fuzzing focuses on finding crashes, it also produces valid inputs as a byproduct. Our approach is to make use of this to show examples, including edge cases, directly in the editor. To provide examples for individual pieces of code, we implement fuzzing at the granularity of functions. We integrate it into the compiler pipeline and language tooling of Martinaise, a custom programming language with a limited feature set. Initially, our examples are random and then mutate based on coverage feedback to reach interesting code locations and become smaller. We evaluate our tool in small case studies, showing generated examples for numbers, strings, and composite objects. Our fuzzed examples still feel synthetic, but since they are grounded in the dynamic behavior of code, they can cover the entire execution and show edge cases.

Cite as

Marcel Garus, Jens Lincke, and Robert Hirschfeld. Fuzzing as Editor Feedback. In Companion Proceedings of the 9th International Conference on the Art, Science, and Engineering of Programming (Programming 2025). Open Access Series in Informatics (OASIcs), Volume 134, pp. 8:1-8:15, Schloss Dagstuhl – Leibniz-Zentrum für Informatik (2025)


Copy BibTex To Clipboard

@InProceedings{garus_et_al:OASIcs.Programming.2025.8,
  author =	{Garus, Marcel and Lincke, Jens and Hirschfeld, Robert},
  title =	{{Fuzzing as Editor Feedback}},
  booktitle =	{Companion Proceedings of the 9th International Conference on the Art, Science, and Engineering of Programming (Programming 2025)},
  pages =	{8:1--8:15},
  series =	{Open Access Series in Informatics (OASIcs)},
  ISBN =	{978-3-95977-382-9},
  ISSN =	{2190-6807},
  year =	{2025},
  volume =	{134},
  editor =	{Edwards, Jonathan and Perera, Roly and Petricek, Tomas},
  publisher =	{Schloss Dagstuhl -- Leibniz-Zentrum f{\"u}r Informatik},
  address =	{Dagstuhl, Germany},
  URL =		{https://drops.dagstuhl.de/entities/document/10.4230/OASIcs.Programming.2025.8},
  URN =		{urn:nbn:de:0030-drops-242926},
  doi =		{10.4230/OASIcs.Programming.2025.8},
  annote =	{Keywords: Fuzzing, Example-based Programming, Babylonian Programming, Dynamic Analysis, Code Coverage, Randomized Testing, Function-Level Fuzzing}
}
Any Issues?
X

Feedback on the Current Page

CAPTCHA

Thanks for your feedback!

Feedback submitted to Dagstuhl Publishing

Could not send message

Please try again later or send an E-mail