Software Engineering

Our Publications

Our pub­li­ca­tions are or­ga­nized ac­cord­ing to the fol­low­ing cat­e­gories:

Peer-re­viewed Pub­li­ca­tions

Tech­ni­cal Re­ports

The­ses

Other Pub­li­ca­tions

List of all Pub­li­ca­tions

Other Pub­li­ca­tions

  • Com­pil­ing Clas­si­cal Se­quent Cal­cu­lus to Stock Hard­ware: The Du­al­ity of Com­pi­la­tion

    by Philipp Schus­ter, Mar­ius Müller, Klaus Os­ter­mann, and Jonathan Im­manuel Brachthäuser

    In Pro­ceed­ings of the In­ter­na­tional Con­fer­ence on Ob­ject-Ori­ented Pro­gram­ming, Sys­tems, Lan­guages and Ap­pli­ca­tions (OOP­SLA), 2025.

  • The Sim­ple Essence of Monomor­phiza­tion

    by Matthew Lutze, Philipp Schus­ter, and Jonathan Im­manuel Brachthäuser

    In Pro­ceed­ings of the In­ter­na­tional Con­fer­ence on Ob­ject-Ori­ented Pro­gram­ming, Sys­tems, Lan­guages and Ap­pli­ca­tions (OOP­SLA), 2025.

Other Pub­li­ca­tions

  • Qual­i­fy­ing Sys­tem F-sub

    by Ed­ward Lee, Yaoyu Zhao, Ondřej Lhoták, James You, Kavin Satheesku­mar, and Jonathan Im­manuel Brachthäuser

    In Pro­ceed­ings of the In­ter­na­tional Con­fer­ence on Ob­ject-Ori­ented Pro­gram­ming, Sys­tems, Lan­guages and Ap­pli­ca­tions (OOP­SLA), 2024.

Other Pub­li­ca­tions

  • Back to Di­rect Style: Typed and Tight

    by Mar­ius Müller, Philipp Schus­ter, Jonathan Im­manuel Brachthäuser, and Klaus Os­ter­mann

    In Pro­ceed­ings of the In­ter­na­tional Con­fer­ence on Ob­ject-Ori­ented Pro­gram­ming, Sys­tems, Lan­guages and Ap­pli­ca­tions (OOP­SLA), 2023.

  • From Ca­pa­bil­i­ties to Re­gions: En­abling Ef­fi­cient Com­pi­la­tion of Lex­i­cal Ef­fect Han­dlers

    by Mar­ius Müller, Philipp Schus­ter, Jonathan Lin­de­gaard Starup, Klaus Os­ter­mann, and Jonathan Im­manuel Brachthäuser

    In Pro­ceed­ings of the In­ter­na­tional Con­fer­ence on Ob­ject-Ori­ented Pro­gram­ming, Sys­tems, Lan­guages and Ap­pli­ca­tions (OOP­SLA), 2023.

  • With or With­out You: Pro­gram­ming with Ef­fect Ex­clu­sion

    by Matthew Lutze, Mag­nus Mad­sen, Jonathan Im­manuel Brachthäuser, and Philipp Schus­ter

    In Pro­ceed­ings of the In­ter­na­tional Con­fer­ence on Func­tional Pro­gram­ming (ICFP). ACM Press, 2023.

  • Get­ting into the Flow: To­wards Bet­ter Type Error Mes­sages for Con­straint-Based Type In­fer­ence

    by Ishan Bhanuka, Li­onel Par­reaux, David Binder, and Jonathan Im­manuel Brachthäuser

    In Pro­ceed­ings of the In­ter­na­tional Con­fer­ence on Ob­ject-Ori­ented Pro­gram­ming, Sys­tems, Lan­guages and Ap­pli­ca­tions (OOP­SLA), 2023.

  • Cap­tur­ing Types

    by Alek­sander Boruch-Gruszecki, Mar­tin Oder­sky, Ed­ward Lee, On­drej Lho­tak, and Jonathan Im­manuel Brachthäuser

    In ACM Trans. Pro­gram. Lang. Syst. (TOPLAS). As­so­ci­a­tion for Com­put­ing Ma­chin­ery, 2023.

Other Pub­li­ca­tions

  • Type-Level Pro­gram­ming with Match Types

    by Olivier Blanvil­lain, Jonathan Im­manuel Brachthäuser, Maxime Kjaer, and Mar­tin Oder­sky

    In Proc. ACM Pro­gram. Lang. 6(POPL). As­so­ci­a­tion for Com­put­ing Ma­chin­ery, 2022.

  • Re­gion-based Re­source Man­age­ment and Lex­i­cal Ex­cep­tion Han­dlers in Con­tin­u­a­tion-Pass­ing Style

    by Philipp Schus­ter, Jonathan Im­manuel Brachthäuser, and Klaus Os­ter­mann

    In Eu­ro­pean Sym­po­sium on Pro­gram­ming (ESOP 2022), 2022.

  • Ef­fects, Ca­pa­bil­i­ties, and Boxes: From Scope-based Rea­son­ing to Type-based Rea­son­ing and Back

    by Jonathan Im­manuel Brachthäuser, Philipp Schus­ter, Ed­ward Lee, and Alek­sander Boruch-Gruszecki

    In Pro­ceed­ings of the In­ter­na­tional Con­fer­ence on Ob­ject-Ori­ented Pro­gram­ming, Sys­tems, Lan­guages and Ap­pli­ca­tions (OOP­SLA), 2022.

  • A Typed Con­tin­u­a­tion-Pass­ing Trans­la­tion for Lex­i­cal Ef­fect Han­dlers

    by Philipp Schus­ter, Jonathan Im­manuel Brachthäuser, Mar­ius Müller, and Klaus Os­ter­mann

    In Pro­ceed­ings of the In­ter­na­tional Con­fer­ence on Pro­gram­ming Lan­guage De­sign and Im­ple­men­ta­tion (PLDI), 2022.

  • What You See Is What You Get: Prac­ti­cal Ef­fect Han­dlers in Ca­pa­bil­ity-Pass­ing Style

    by Jonathan Im­manuel Brachthäuser

    In Ernst Den­ert Award for Soft­ware En­gi­neer­ing 2020. Springer In­ter­na­tional Pub­lish­ing, 2022.

Other Pub­li­ca­tions

  • All About That Stack: A Uni­fied Treat­ment of Re­gions and Con­trol Ef­fects

    by Philipp Schus­ter, Jonathan Im­manuel Brachthäuser, and Klaus Os­ter­mann

    Tech­ni­cal re­port. Uni­ver­sity of Tübin­gen, Ger­many, 2021.

  • Track­ing Cap­tured Vari­ables in Types

    by Alek­sander Boruch-Gruszecki, Jonathan Im­manuel Brachthäuser, Ed­ward Lee, On­drej Lhoták, and Mar­tin Oder­sky

    In CoRR abs/2105.11896, 2021.

  • Vir­tual ADTs for Portable Metapro­gram­ming

    by Nico­las Stucki, Jonathan Im­manuel Brachthäuser, and Mar­tin Oder­sky

    In Pro­ceed­ings of the 18th ACM SIG­PLAN In­ter­na­tional Con­fer­ence on Man­aged Pro­gram­ming Lan­guages and Run­times, pages 36–44. As­so­ci­a­tion for Com­put­ing Ma­chin­ery, 2021.

  • Multi-Stage Pro­gram­ming with Gen­er­a­tive and An­a­lyt­i­cal Macros

    by Nico­las Stucki, Jonathan Im­manuel Brachthäuser, and Mar­tin Oder­sky

    In Pro­ceed­ings of the 20th ACM SIG­PLAN In­ter­na­tional Con­fer­ence on Gen­er­a­tive Pro­gram­ming: Con­cepts and Ex­pe­ri­ences, pages 110–122. As­so­ci­a­tion for Com­put­ing Ma­chin­ery, 2021.

  • Safer Ex­cep­tions for Scala

    by Mar­tin Oder­sky, Alek­sander Boruch-Gruszecki, Jonathan Im­manuel Brachthäuser, Ed­ward Lee, and Ondřej Lhoták

    In Pro­ceed­ings of the 12th ACM SIG­PLAN In­ter­na­tional Sym­po­sium on Scala, pages 1–11. As­so­ci­a­tion for Com­put­ing Ma­chin­ery, 2021.

  • Rep­re­sent­ing Mon­ads with Ca­pa­bil­i­ties

    by Jonathan Brachthäuser, Alek­sander Boruch-Gruszecki, and Mar­tin Oder­sky

    Tech­ni­cal re­port. Higher-Or­der Pro­gram­ming with Ef­fects (HOPE), 2021.

Other Pub­li­ca­tions

  • Ef­fekt: Ca­pa­bil­ity-Pass­ing Style for Type- and Ef­fect-Safe, Ex­ten­si­ble Ef­fect Han­dlers in Scala

    by Jonathan Im­manuel Brachthäuser, Philipp Schus­ter, and Klaus Os­ter­mann

    In Jour­nal of Func­tional Pro­gram­ming 30: , 2020.

  • Com­pil­ing Ef­fect Han­dlers in Ca­pa­bil­ity-Pass­ing Style

    by Philipp Schus­ter, Jonathan Im­manuel Brachthäuser, and Klaus Os­ter­mann

    In Pro­ceed­ings of the In­ter­na­tional Con­fer­ence on Func­tional Pro­gram­ming (ICFP). ACM Press, 2020.

  • Ef­fect Han­dlers, Ev­i­dently

    by Ningn­ing Xie, Jonathan Im­manuel Brachthäuser, Daniel Hiller­ström, Philipp Schus­ter, and Daan Lei­jen

    In Pro­ceed­ings of the In­ter­na­tional Con­fer­ence on Func­tional Pro­gram­ming (ICFP). ACM Press, 2020.

  • Ef­fekt: Light­weight Ef­fect Poly­mor­phism for Han­dlers (Tech­ni­cal Re­port)

    by Jonathan Im­manuel Brachthäuser, Philipp Schus­ter, and Klaus Os­ter­mann

    Tech­ni­cal re­port. Uni­ver­sity of Tübin­gen, Ger­many, 2020.

  • Ef­fects as Ca­pa­bil­i­ties: Ef­fect Han­dlers and Light­weight Ef­fect Poly­mor­phism

    by Jonathan Im­manuel Brachthäuser, Philipp Schus­ter, and Klaus Os­ter­mann

    In Pro­ceed­ings of the In­ter­na­tional Con­fer­ence on Ob­ject-Ori­ented Pro­gram­ming, Sys­tems, Lan­guages and Ap­pli­ca­tions (OOP­SLA). ACM Press, 2020.

  • De­sign and Im­ple­men­ta­tion of Ef­fect Han­dlers for Ob­ject-Ori­ented Pro­gram­ming Lan­guages

    by Jonathan Im­manuel Brachthäuser

    PhD the­sis. Uni­ver­sity of Tübin­gen, Ger­many, 2020.

Other Pub­li­ca­tions

  • Pro­gram­ming with Im­plicit Val­ues, Func­tions, and Con­trol

    by Jonathan Im­manuel Brachthäuser and Daan Lei­jen

    Tech­ni­cal re­port MSR-TR-2019-7. Mi­crosoft Re­search, 2019.

  • Zero-cost Ef­fect Han­dlers by Stag­ing (Tech­ni­cal Re­port)

    by Philipp Schus­ter, Jonathan Im­manuel Brachthäuser, and Klaus Os­ter­mann

    Tech­ni­cal re­port. Uni­ver­sity of Tübin­gen, Ger­many, 2019.

Other Pub­li­ca­tions

  • Typ­ing, Rep­re­sent­ing, and Ab­stract­ing Con­trol: Func­tional Pearl

    by Philipp Schus­ter and Jonathan Brachthäuser

    In Pro­ceed­ings of the In­ter­na­tional Work­shop on Type-Dri­ven De­vel­op­ment. ACM Press, 2018.

  • Ef­fect Han­dlers for the Masses

    by Jonathan Im­manuel Brachthäuser, Philipp Schus­ter, and Klaus Os­ter­mann

    In Proc. ACM Pro­gram. Lang. 2(OOP­SLA). As­so­ci­a­tion for Com­put­ing Ma­chin­ery, 2018.

Other Pub­li­ca­tions

  • To­wards Nat­u­ral­is­tic EDSLs using Al­ge­braic Ef­fects

    by Jonathan Im­manuel Brachthäuser

    In Work­shop for Do­main Spe­cific Lan­guages, De­sign and Im­ple­men­ta­tion (DSLDI), 2017.

  • Ef­fekt: Ex­ten­si­ble Al­ge­braic Ef­fects in Scala (Short Paper)

    by Jonathan Im­manuel Brachthäuser and Philipp Schus­ter

    In Pro­ceed­ings of the In­ter­na­tional Sym­po­sium on Scala. ACM Press, 2017.

Other Pub­li­ca­tions

  • Re­vis­it­ing the Cake Pat­tern: Scal­ing "Scal­able Com­po­nent Ab­strac­tions"

    by Paolo G. Gi­a­russo and Jonathan Im­manuel Brachthäuser

    Tech­ni­cal re­port. Talk at Scala Sym­po­sium 2016, Uni­ver­sity of Tübin­gen, Ger­many, 2016.

  • Pri­or­i­tiz­ing Re­gres­sion Tests for Desk­top and Web-Ap­pli­ca­tions Based on the Ex­e­cu­tion Fre­quency of Mod­i­fied Code

    by Matthias Hirzel, Jonathan Im­manuel Brachthäuser, and Her­bert Klaeren

    In Proc. of the Intl. Con­fer­ence on Prin­ci­ples and Prac­tices of Pro­gram­ming on the Java Plat­form: Vir­tual Ma­chines, Lan­guages, and Tools. As­so­ci­a­tion for Com­put­ing Ma­chin­ery, 2016.

  • Pars­ing with First-Class De­riv­a­tives

    by Jonathan Brachthäuser, Till­mann Ren­del, and Klaus Os­ter­mann

    In Pro­ceed­ings of the In­ter­na­tional Con­fer­ence on Ob­ject-Ori­ented Pro­gram­ming, Sys­tems, Lan­guages and Ap­pli­ca­tions (OOP­SLA). ACM Press, 2016.

Other Pub­li­ca­tions

  • Mod­u­lar­iza­tion of Al­go­rithms on Com­plex Data Struc­tures: An En­cod­ing of Type­safe Ex­ten­si­ble Func­tional Ob­jects

    by Jonathan Im­manuel Brachthäuser

    Mas­ter the­sis. Uni­ver­sity of Mar­burg, Ger­many, 2014.

  • From Ob­ject Al­ge­bras to At­tribute Gram­mars

    by Till­mann Ren­del, Jonathan Im­manuel Brachthäuser, and Klaus Os­ter­mann

    In Pro­ceed­ings of the 2014 ACM In­ter­na­tional Con­fer­ence on Ob­ject Ori­ented Pro­gram­ming Sys­tems Lan­guages & Ap­pli­ca­tions (OOP­SLA), pages 377–395. ACM Press, 2014.