Publications

2021

Scholarly publications

Hage, J. (2021). Welcome from the Chair. In Haskell 2021: Proceedings of the 14th ACM SIGPLAN International Symposium on Haskell (pp. III). Association for Computing Machinery. https://doi.org/10.1145/3471874

2020

Scholarly publications

Hage, J. (2020). Solved and open problems in type error diagnosis? CEUR Workshop Proceedings, 2707, 62-74.
Hage, J. (2020). Preface. Electronic Proceedings in Theoretical Computer Science, EPTCS, 321.
Burgers, J., Hage, J., & Serrano, A. (2020). Heuristics-based Type Error Diagnosis for Haskell: The case of GADTs and local reasoning. In O. Chitil (Ed.), IFL 2020: Proceedings of the 32nd Symposium on Implementation and Application of Functional Languages (pp. 33-43). (ACM International Conference Proceeding Series). Association for Computing Machinery (ACM). https://doi.org/10.1145/3462172.3462189
Hage, J. (Ed.) (2020). Proceedings Eighth and Ninth International Workshop on Trends in Functional Programming in Education. Proceedings Eighth and Ninth International Workshop on
Trends in Functional Programming in Education. https://doi.org/10.4204/eptcs.321.0
Thorand, F., & Hage, J. (2020). Higher-Ranked Annotation Polymorphic Dependency Analysis. In P. Müller (Ed.), Programming Languages and Systems: 29th European Symposium on Programming, ESOP 2020, Held as Part of the European Joint Conferences on Theory and Practice of Software, ETAPS 2020, Dublin, Ireland, April 25–30, 2020, Proceedings (pp. 656-683). (Lecture Notes in Computer Science ; Vol. 12075), (Theoretical Computer Science and General Issues book sub series; Vol. 12075). Springer Cham. https://doi.org/10.1007/978-3-030-44914-8_24
Serrano, A., Hage, J., Peyton Jones, S., & Vytiniotis, D. (2020). A quick look at impredicativity. Proceedings of the ACM on Programming Languages, 4(ICFP), 1-29. [89]. https://doi.org/10.1145/3408971

2019

Scholarly publications

Eremondi, J., Swierstra, W., & Hage, J. (2019). A framework for improving error messages in dependently-typed languages. Open Computer Science, 9(1), 1-32. https://doi.org/10.1515/comp-2019-0001
Saeidi, A., Hage, J., Khadka, R., & Jansen, S. (2019). Applications of Multi-view Learning Approaches for Software Comprehension. The Art, Science, and Engineering of Programming, 3(3). https://doi.org/10.22152/programming-journal.org/2019/3/14
Serrano, A., & Hage, J. (2019). A compiler architecture for domain-specific type error diagnosis. Open Computer Science, 9(1), 33-51. https://doi.org/10.1515/comp-2019-0002

2018

Scholarly publications

Eremondi, J., Hage, J., & Swierstra, W. S. (2018). Improving Error Messages for Dependent Types. Manuscript submitted for publication. In International Conference on Functional Programming 2018
Saeidi, A. M., Hage, J., Khadka, R., & Jansen, S. (2018). A generic framework for the analysis of heterogeneous legacy software systems. Paper presented at 17th Belgium-Netherlands Software Evolution Workshop, BENEVOL 2018, Delft, Netherlands.
Serrano, A., Hage, J., Vytiniotis, DI., & Peyton Jones, S. (2018). Guarded impredicative polymorphism. ACM SIGPLAN Notices, 53(4), 783-796. https://doi.org/10.1145/3192366.3192389
Jagroep, E., Ent, A. V. D., Werf, J. M. E. M. V. D., Hage, J., Blom, L., Vliet, R. V., & Brinkkemper, S. (2018). The hunt for the guzzler: Architecture-based energy profiling using stubs. Information and Software Technology, 95, 165-176. https://doi.org/10.1016/j.infsof.2017.12.003
Eilers, R., Hage, J., Prasetya, S. W. B., & Bosman, J. (2018). Fine-Grained Model Slicing for Rebel. In 18th International Working Conference on Source Code Analysis and Manipulation, SCAM 2018 (pp. 235-244)
Elyasov, A., Prasetya, S. W. B., & Hage, J. (2018). Search-Based Test Data Generation for JavaScript Functions that Interact with the DOM. In 29th IEEE International Symposium on Software Reliability Engineering, ISSRE 2018 (pp. 88-99)
Van der Bent, E., Hage, J., Visser, J., & Gousios, G. (2018). How good is your puppet? An empirically defined and validated quality model for puppet. In 25th IEEE International Conference on Software Analysis, Evolution, and Reengineering : SANER 2018 : Campobasso, Italy: proceedings (pp. 164-174). IEEE Computer Society. https://doi.org/10.1109/SANER.2018.8330206
Saeidi, A. M., Hage, J., Khadka, R., & Jansen, R. L. (2018). On the Effect of Semantically Enriched Context Models on Software Modularization. Programming Journal, 2(1), [2]. https://doi.org/10.22152/programming-journal.org/2018/2/2
Serrano, A., Hage, J., Vytiniotis, D., & Peyton Jones, S. (2018). Guarded impredicative polymorphism. In Proceedings of the 39th ACM SIGPLAN Conference on Programming Language Design and Implementation (pp. 783-796). Association for Computing Machinery (ACM). https://doi.org/10.1145/3192366.3192389
Eremondi, J., Hage, J., & Swierstra, W. S. (2018). Improving Error Messages for Dependent Types.

2017

Scholarly publications

Heres, D., & Hage, J. (2017). A quantitative comparison of program plagiarism detection tools. In M. van Eekelen, M. Giannakos, V. Pieterse, & M. van Eekelen (Eds.), Proceedings CSERC 2017 - Computer Science Education Research Conference (pp. 73-82). (ACM International Conference Proceeding Series). Association for Computing Machinery (ACM). https://doi.org/10.1145/3162087.3162101
Serrano, A., & Hage, J. (2017). Type Error Customization in GHC: Controlling expression-level type errors by type-level programming. In Proceedings of the 29th Symposium on Implementation and Application of Functional Programming Languages, IFL 2017, Bristol, UK, August 30 - September 01, 2017 (pp. 2:!). [2] ACM digital library.
Serrano, A., & Hage, J. (2017). Constraint Handling Rules with Binders, Patterns and Generic Quantification. Theory and Practice of Logic Programming, 17(5-6), 992-1009. https://doi.org/10.1017/S1471068417000230
Hage, J., & McCarthy, J. (2017). Special issue on Trends in Functional Programming 2013/14: Editorial. Computer Languages, Systems & Structures, 52, 63-64. https://doi.org/10.1016/j.cl.2017.05.003
Saeidi, A., Hage, J., Khadka, R., & Jansen, S. (2017). A Generic Framework for Model-Driven Analysis of Heterogeneous Legacy Software Systems. (Technical Report Series; No. UU-CS-2017-003). UU BETA ICS Departement Informatica.
https://dspace.library.uu.nl/bitstream/handle/1874/359542/2017_003.pdf?sequence=1
Serrano, A., Hage, J., Peyton Jones, S., & Vytiniotis, D. (2017). Guarded impredicative polymorphism. https://www.microsoft.com/en-us/research/publication/guarded-impredicative-polymorphism/
de Wolff, I. G., & Hage, J. (2017). Refining types using type guards in TypeScript. In Proceedings of the 2017 ACM SIGPLAN Workshop on Partial Evaluation and Program Manipulation, PEPM 2017 (pp. 111-122). ACM. https://doi.org/10.1145/3018882.3018887
Klinik, M., Hage, J., Jansen, J. M., & Plasmeijer, R. (2017). Predicting resource consumption of higher-order workflows. In Proceedings of the 2017 ACM SIGPLAN Workshop on Partial Evaluation and Program Manipulation, PEPM 2017 (pp. 99-110). ACM. https://doi.org/10.1145/3018882.3018885
Fritz, L., & Hage, J. (2017). Cost versus precision for approximate typing for Python. In Proceedings of the 2017 ACM SIGPLAN Workshop on Partial Evaluation and Program Manipulation, PEPM 2017 (pp. 89-98). ACM. https://doi.org/10.1145/3018882.3018888
Serrano Mena, A., & Hage, J. (2017). Lightweight soundness for towers of language extensions. In Proceedings of the 2017 ACM SIGPLAN Workshop on Partial Evaluation and Program Manipulation, PEPM 2017 (pp. 23-34). ACM. https://doi.org/10.1145/3018882.3018884
Hage, J., & van Hees, R. (2017). Stable and predictable Voronoi treemaps for software quality monitoring. Information and Software Technology, 87, 242-258. https://doi.org/10.1016/j.infsof.2016.10.003

2016

Scholarly publications

Serrano, M., & Hage, J. (2016). Preface. Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics), 9547, V.
Prasetya, I. S. W. B., Hage, J., & Elyasov, A. (2016). Exploiting annotations to test break-off branches. In Proceedings - 22nd Asia-Pacific Software Engineering Conference, APSEC 2015 (Vol. 2016-May, pp. 80-87). [7467286] IEEE Computer Society Press. https://doi.org/10.1109/APSEC.2015.25
Serrano Mena, A., & Hage, J. (2016). Typed and Monadic Constraint Handling Rules with Priorities and Disjunction. In IFL 2016 Accepted Presentations
Peijnenburg, F., Hage, J., & Serrano Mena, A. (2016). Type Directives and Type Graphs in Elm. In Proceedings of the 28th Symposium on the Implementation and Application of Functional Programming Languages, IFL 2016: Leuven, Belgium, August 31 - September 2, 2016 [2] ACM. https://doi.org/10.1145/3064899.3064907
Serrano Mena, A., & Hage, J. (2016). From Attribute Grammars to Constraint Handling Rules. (UU Beta ICS Departement Informatica; No. UU-CS-2016-010). UU BETA ICS Departement Informatica.
https://dspace.library.uu.nl/bitstream/handle/1874/346318/Attribute.pdf?sequence=1
Serrano Mena, A., & Hage, J. (2016). Context-Dependent Type Error Diagnosis for Functional Languages. (Technical Report Series; No. UU-CS-2016-011). UU BETA ICS Departement Informatica.
https://dspace.library.uu.nl/bitstream/handle/1874/346317/2016_011.pdf?sequence=1
Serrano, M., & Hage, J. (Eds.) (2016). Trends in Functional Programming: 16th International Symposium, TFP 2015, Sophia Antipolis, France, June 3-5, 2015. Revised Selected Papers. (Lecture Notes in Computer Science; Vol. 9547). Springer. https://doi.org/10.1007/978-3-319-39110-6
Peters, J. G. T., van der Werf, J. M. E. M., & Hage, J. (2016). Architectural Pattern Definition for Semantically Rich Modular Architectures. In 13th Working IEEE/IFIP Conference on Software Architecture (WICSA): 5–8 April 2016 Venice, Italy (pp. 256-261) https://doi.org/10.1109/WICSA.2016.50
Serrano Mena, A., & Hage, J. (2016). Type Error Diagnosis for Embedded DSLs by Two-Stage Specialized Type Rules. In Programming Languages and Systems: 25th European Symposium on Programming, ESOP 2016, Held as Part of the European Joint Conferences on Theory and Practice of Software, ETAPS 2016, Eindhoven, The Netherlands, April 2-8, 2016, Proceedings (Vol. 9632, pp. 672-698). (Lecture Notes in Computer Science). Springer. https://doi.org/10.1007/978-3-662-49498-1_26
Serrano Mena, A., & Hage, J. (2016). Generic Matching of Tree Regular Expressions over Haskell Data Types. In Practical Aspects of Declarative Languages: 18th International Symposium, PADL 2016, St. Petersburg, FL, USA, January 18-19, 2016. Proceedings (Vol. 9585, pp. 83-98). (Lecture Notes in Computer Science). Springer. https://doi.org/10.1007/978-3-319-28228-2_6

2015

Scholarly publications

Hage, J., & McCarthy, J. (2015). Preface. Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics), 8843, V-VI.
Chin, W. N., & Hage, J. (2015). Selected and extended papers from partial evaluation and program manipulation 2014. Science of Computer Programming, 112(P2), 119. https://doi.org/10.1016/j.scico.2015.10.004
Khadka, R., Shrestra, P., Klein, B., Saeidi, A. M., Hage, J., Jansen, R. L., Dis, E. V., & Bruntink, M. (2015). Does Software Modernization Deliver What It Aimed for? A Post Modernization Analysis of Five Software Modernization Case Studies. In ICSME 2015 – Proceedings: 2015 IEEE 31st International Conference on Software Maintenance and Evolution (ICSME) (pp. 477-486). IEEE. https://doi.org/10.1109/ICSM.2015.7332499
https://dspace.library.uu.nl/bitstream/handle/1874/322074/index12.pdf?sequence=1
Saeidi, A. M., Hage, J., Khadka, R., & Jansen, R. L. (2015). ITMViz: Interactive Topic Modeling for Source Code Analysis. In Proceedings of the 23rd International Conference on Program Comprehension (ICPC '15) (pp. 295-298). ACM. https://doi.org/10.5555/2820282.2820331
Kreuzer, R., Hage, J., & Feelders, A. J. (2015). A Quantitative Comparison of Semantic Web Page Segmentation Approaches. In Proceedings of ICWE 2015 (Vol. 9114, pp. 374-391). (LNCS). Springer. https://doi.org/10.1007/978-3-319-19890-3 24
Hees, R. V., & Hage, J. (2015). Stable Voronoi-based Visualizations for Software Quality Monitoring. In Proc. VISSOFT (pp. 6-15). IEEE.
Prasetya, I. S. W. B., Hage, J., & Elyasov, A. (2015). Exploiting Annotations to Test Break-off Branches. In 22th Asia-Pacific Software Engineering Conference (APSEC) IEEE.
Elyasov, A., Prasetya, I. S. W. B., Hage, J., Rueda, U., Vos, T. E. J., & Condori-Fernandez, N. (2015). AB=ᗺA: execution equivalence as a new type of testing oracle. In SAC '15: Proceedings of the 30th Annual ACM Symposium on Applied Computing (SAC) (pp. 1559-1566). ACM. https://doi.org/10.1145/2695664.2695877
Saeidi, A. M., Hage, J., Khadka, R., & Jansen, S. (2015). A Search-Based Approach to Multi-view Clustering of Software Systems. In Proceedings of the Conference on Software Analysis, Evolution, and Re-engineering
https://dspace.library.uu.nl/bitstream/handle/1874/310170/hybrid.pdf?sequence=1
Verstoep, H., & Hage, J. (2015). Polyvariant Cardinality Analysis for Non-strict Higher-order Functional Languages: Brief Announcement. In PEPM '15: Proceedings of the 2015 Workshop on Partial Evaluation and Program Manipulation (PEPM 2015) (pp. 139-142). ACM. https://doi.org/10.1145/2678015.2682536
Van der Hoek, H. E., & Hage, J. (2015). Object-sensitive Type Analysis of PHP. In PEPM '15: Proceedings of the 2015 Workshop on Partial Evaluation and Program Manipulation (PEPM 2015) (pp. 9-20). ACM. https://doi.org/10.1145/2678015.2682535
Hage, J., & McCarthy, J. (Eds.) (2015). Trends in functional programming: 15th International Symposium, TFP 2014, Soesterberg, The Netherlands, May 26-28, 2014. Revised selected papers . (Lecture Notes in Computer Science; Vol. 8843). Springer.
Koot, R., & Hage, J. (2015). Type-based Exception Analysis for Non-strict Higher-order Functional Languages with Imprecise Exception Semantics. In PEPM '15: Proceedings of the 2015 Workshop on Partial Evaluation and Program Manipulation (PEPM 2015) (pp. 127-138). ACM. https://doi.org/10.1145/2678015.2682542

Other output

Hage, J. (2015). Making Embedded Domain Specific Languages a Practical Reality. http://www.curry-on.org/
Serrano Mena, A., & Hage, J. (2015). Feedback Upon Feedback. Paper presented at TFP 2015, Sophia-Antipolis, France.
Serrano Mena, A., Hage, J., & Bahr, P. (2015). Type Families with Class, Type Classes with Family. 129-140. Paper presented at Haskell Symposium 2015, Vancouver, Canada. https://doi.org/10.1145/2804302.2804304

2014

Scholarly publications

Chin, W. N., & Hage, J. (2014). Foreword. PEPM 2014 - Proceedings of the ACM SIGPLAN Workshop on Partial Evaluation and Program Manipulation, Co-located with POPL 2014, iii.
Batlajery, B., Khadka, R., Saeidi, A., Jansen, S., & Hage, J. (2014). Industrial Perception of Legacy Software System and their Modernization. (Technical Report Series; No. UU-CS-2014-004). UU BETA ICS Departement Informatica.
https://dspace.library.uu.nl/bitstream/handle/1874/306443/2014_004.pdf?sequence=1
Fritz, L., & Hage, J. (2014). Cost versus Precision for Approximate Typing for Python. (Technical Reports Series; No. UU-CS-2014-017). UU BETA ICS Departement Informatica.
https://dspace.library.uu.nl/bitstream/handle/1874/306326/2014_017.pdf?sequence=1
Kreuzer, R., Hage, J., & Feelders, A. (2014). A Quantitative Comparison of Semantic Web Page Segmentation Approaches. (Technical Report Series; No. UU-CS-2014-018). UU BETA ICS Departement Informatica.
https://dspace.library.uu.nl/bitstream/handle/1874/306261/2014_018.pdf?sequence=1
Hage, J. (2014). DOMain Specific Type Error Diagnosis (DOMSTED). (Technical Report Series; No. UU-CS-2014-019). UU BETA ICS Departement Informatica.
https://dspace.library.uu.nl/bitstream/handle/1874/306337/2014_019.pdf?sequence=1
Weijers, J., Hage, J., & Holdermans, S. (2014). Security Type Error Diagnosis for Higher-Order Polymorphic Languages. Science of Computer Programming, 95 (2), 200-218. https://doi.org/10.1016/j.scico.2014.03.011
Chin, W-N., & Hage, J. (Eds.) (2014). Proceedings of the ACM SIGPLAN 2014 workshop on Partial evaluation and program manipulation, PEPM 2014. ACM.
Elyasov, A., Prasetya, I. S. W. B., Hage, J., & Nikas, A. (2014). Reduce First, Debug Later. In 9th International Workshop on Automation of Software Test, (pp. 57-63). ACM. https://doi.org/10.1145/2593501.2593510
Kruse, P. M., Prasetya, I. S. W. B., Hage, J., & Elyasov, A. (2014). Logging to Facilitate Combinatorial System Testing. In T. E. J. Vos, K. Lakhotia, & S. Bauersfeld (Eds.), Future Internet Testing: First International Workshop, FITTEST 2013, Istanbul, Turkey, November 12, 2013, Revised Selected Papers (pp. 48-58). (Lecture Notes in Computer Science; Vol. 8432). Springer. https://doi.org/10.1007/978-3-319-07785-7_3

2013

Scholarly publications

Prasetya, I. S. W. B., Sturala, A., Middelkoop, A., Hage, J., & Elyasov, A. (2013). Compact Traceable Logging. In VALID 2013, The Fifth International Conference on Advances in System Testing and Validation Lifecycle (pp. 66-76)
Khadka, R., Saeidi, A. M., Jansen, R. L., & Hage, J. (2013). A structured legacy to SOA migration process and its evaluation in practice. In IEEE 7th International Symposium on the Maintenance and Evolution of Service-Oriented and Cloud-Based Systems MESOCA) (pp. 2-11)

Professional publications

Hage, J., & Dijkstra, A. (2013). Een Lawine van Ontwortelde Bomen. Liber Amicorum for S. Doaitse Swierstra, in celebration of his retirement. Department of Information and Computing Sciences, Utrecht University.

2012

Scholarly publications

Elyasov, A., Prasetya, I. S. W. B., & Hage, J. (2012). Log-Based Reduction by Rewriting. Department of Information and Computing Sciences, Utrecht University.

2011

Scholarly publications

Khadka, R., Reijnders, G., Saeidi, A., Jansen, R. L., & Hage, J. (2011). A method engineering based legacy to SOA migration method. In Proceedings of the 27th IEEE International Conference on Software Maintenance (ICSM'11) (pp. 163-172)

2010

Scholarly publications

Holdermans, S., & Hage, J. (2010). On the Rôle of Minimal Typing Derivations in Type-driven Program Transformation. In Proceedings of the Tenth Workshop on Language Descriptions, Tools and Applications, LDTA 2010 ACM Press.
Hage, J., & Keeken, P. (2010). Neon: A Library for Language Usage Analysis. In D. Gasevic, & E. V. W. R. Laemmel (Eds.), Proceedings of the 1st Conference on Software Language Engineering (SLE '08) (pp. 35-53). Springer.
Holdermans, S., & Hage, J. (2010). Polyvariant flow analysis with higher-ranked polymorphic types and higher-order effect operators. In Proceedings of the 15th ACM SIGPLAN International Conference on Functional Programming, ICFP 2010 (pp. 63-74)

2009

Scholarly publications

Boustani, N. E., & Hage, J. (2009). Improving type error messages for generic java. In Proceedings of the 2009 ACM SIGPLAN Symposium on Partial Evaluation and Program Manipulation, PEPM'09 (pp. 131-140). (Proceedings of the 2009 ACM SIGPLAN Symposium on Partial Evaluation and Program Manipulation, PEPM'09). https://doi.org/10.1145/1480945.1480964

2004

Scholarly publications

Ehrenfeucht, A., Hage, J., Harju, T., & Rozenberg, G. (2004). Embedding in Switching Classes with Skew Gains. In H. Ehrig, G. Engels, F. Parisi-Presicce, & G. Rozenberg (Eds.), Graph Transformations, Second International Conference, ICGT 2004 (pp. 257-270). Springer.