
Paradigms, and Reflections on Programming and
Software (Onward!), Onward! 2015, pages 137–150,
New York, NY, USA. Association for Computing
Machinery.
Hanenberg, S. and Mehlhorn, N. (2021). Two n-of-1 self-
trials on readability differences between anonymous
inner classes (aics) and lambda expressions (les) on
java code snippets. Empirical Software Engineering,
27(2):33.
Hoffmann, B., Urquhart, N., Chalmers, K., and Guckert,
M. (2022). An empirical evaluation of a novel
domain-specific language – modelling vehicle routing
problems with athos. Empirical Softw. Engg., 27(7).
Hollmann, N. and Hanenberg, S. (2017). An empirical
study on the readability of regular expressions:
Textual versus graphical. In IEEE Working
Conference on Software Visualization, VISSOFT
2017, Shanghai, China, September 18-19, 2017,
pages 74–84. IEEE.
Jay, G., Hale, J. E., Smith, R. K., Hale, D. P., Kraft, N. A.,
and Ward, C. (2009). Cyclomatic complexity and
lines of code: Empirical evidence of a stable linear
relationship. JSEA, 2(3):137–143.
Johanson, A. N. and Hasselbring, W. (2017). Effectiveness
and efficiency of a domain-specific language for
high-performance marine ecosystem simulation: a
controlled experiment. Empirical Softw. Engg.,
22(4):2206–2236.
Kaijanaho, A.-J. (2015). Evidence-based programming
language design: a philosophical and methodological
exploration. University of Jyväskylä, Finnland.
Ko, A. J., Latoza, T. D., and Burnett, M. M. (2015). A
practical guide to controlled experiments of software
engineering tools with human participants. Empirical
Softw. Engg., 20(1):110–141.
Kosar, T., Mernik, M., and Carver, J. C. (2012). Program
comprehension of domain-specific and general-
purpose languages: comparison using a family of
experiments. Empirical Softw. Engg., 17(3):276–304.
Kosar, T., Oliveira, N., Mernik, M., João, M., Pereira,
M., Repinšek, M., Cruz, D., and Rangel Henriques,
P. (2010). Comparing general-purpose and domain-
specific languages: An empirical study. Computer
Science and Information Systems, 438.
Lucas, W., Bonifácio, R., Canedo, E. D., Marcílio, D., and
Lima, F. (2019). Does the introduction of lambda
expressions improve the comprehension of java
programs? In Proceedings of the XXXIII Brazilian
Symposium on Software Engineering, SBES 2019,
pages 187–196, New York, NY, USA. Association for
Computing Machinery.
McCabe, T. J. (1976). A complexity measure. In
Proceedings of the 2nd International Conference
on Software Engineering, ICSE ’76, page 407,
Washington, DC, USA. IEEE Computer Society
Press.
McConnell, S. (2011). What does 10x mean? measuring
variations in programmer productivity. In Oram, A.
and Wilson, G., editors, Making Software - What
Really Works, and Why We Believe It, Theory in
practice, pages 567–574. O’Reilly.
Mehlhorn, N. and Hanenberg, S. (2022). Imperative
versus declarative collection processing: an rct on
the understandability of traditional loops versus the
stream api in java. In Proceedings of the 44th
International Conference on Software Engineering,
ICSE ’22, pages 1157–1168, New York, NY, USA.
Association for Computing Machinery.
Mernik, M., Heering, J., and Sloane, A. M. (2005). When
and how to develop domain-specific languages. ACM
Comput. Surv., 37(4):316–344.
Pichler, P., Weber, B., Zugal, S., Pinggera, J., Mendling,
J., and Reijers, H. A. (2011). Imperative versus
declarative process modeling languages: An empirical
investigation. In Daniel, F., Barkaoui, K., and Dustdar,
S., editors, Business Process Management Workshops
- BPM 2011 International Workshops, Clermont-
Ferrand, France, August 29, 2011, Revised Selected
Papers, Part I, volume 99 of Lecture Notes in Business
Information Processing, pages 383–394. Springer.
Pierce, B. C. (2002). Types and Programming Languages.
The MIT Press, 1st edition.
Shneiderman, B., Mayer, R., McKay, D., and Heller, P.
(1977). Experimental investigations of the utility of
detailed flowcharts in programming. Commun. ACM,
20(6):373–381.
Siegmund, J., Kästner, C., Liebig, J., Apel, S., and
Hanenberg, S. (2014). Measuring and modeling
programming experience. Empirical Software
Engineering, 19(5):1299–1334.
Uesbeck, P. M., Stefik, A., Hanenberg, S., Pedersen, J.,
and Daleiden, P. (2016). An empirical study on the
impact of c++ lambdas and programmer experience.
In Proceedings of the 38th International Conference
on Software Engineering, ICSE 2016, Austin, TX,
USA, May 14-22, 2016, pages 760–771.
Vegas, S., Apa, C., and Juristo, N. (2016). Crossover
designs in software engineering experiments: Benefits
and perils. IEEE Transactions on Software
Engineering, 42(2):120–135.
Wright, A. and Felleisen, M. (1994). A syntactic approach
to type soundness. Inf. Comput., 115(1):38–94.
Readability of Domain-Specific Languages: A Controlled Experiment Comparing (Declarative) Inference Rules with (Imperative) Java
Source Code in Programming Language Design
503