Research | Per year | Per venue | Per topic | Adyen | Education | Favorites

I highly value applied research. See the list of publications I have with industrial partners. If you are interested in university-industry collaboration, feel free to contact me!

Data-Driven Extract Method Recommendations: A Study at ING David van der Leij, Jasper Binda, Robbert van Dalen, Pieter Vallen, Yaping Luo, Maurício Aniche Proceedings of the 29th ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering (ESEC/FSE '21), 2021
The sound identification of refactoring opportunities is still an open problem in software engineering. Recent studies have shown the effectiveness of machine learning models in recommending methods that should undergo different refactoring operations. In this work, we experiment with such approaches to identify methods that should undergo an E...
An Exploratory Study of Log Placement Recommendation in an Enterprise System Jeanderson Cândido, Jan Haesen, Maurício Aniche, Arie van Deursen Mining Software Repositories Conference (MSR), 2021
Logging is a development practice that plays an important role in the operations and monitoring of complex systems. Developers place log statements in the source code and use log data to understand how the system behaves in production. Unfortunately, anticipating where to log during development is challenging. Previous studies show the feasibili...
Learning Off-By-One Mistakes: An Empirical Study Hendrig Sellik, Onno van Paridon, Georgios Gousios, Maurício Aniche Mining Software Repositories Conference (MSR), 2021
Mistakes in binary conditions are a source of error in many software systems. They happen when developers use, e.g., < or > instead of <= or >=. These boundary mistakes are hard to find and impose manual, labor-intensive work for software developers. While previous research has been proposing solutions to identify errors in boundary ...
Search-Based Software Re-Modularization: A Case Study at Adyen Casper Schröder, Adriaan van der Feltz, Annibale Panichella, Maurício Aniche IEEE/ACM 43rd International Conference on Software Engineering: Software Engineering in Practice (ICSE-SEIP), 2021
Deciding what constitutes a single module, what classes belong to which module or the right set of modules for a specific software system has always been a challenging task. The problem is even harder in large-scale software systems composed of thousands of classes and hundreds of modules. Over the years, researchers have been proposing differen...
Automatically Identifying Parameter Constraints in Complex Web APIs: A Case Study at Adyen Henk Grent, Aleksei Akimov, Maurício Aniche IEEE/ACM 43rd International Conference on Software Engineering: Software Engineering in Practice (ICSE-SEIP), 2021
Web APIs may have constraints on parameters, such that not all parameters are either always required or always optional. Moreover, the presence or value of one parameter could cause another parameter to be required, or parameters could have restrictions on what kinds of values are valid. Having a clear overview of the constraints helps API consu...
Monitoring-Aware IDEs Jos Winter, Maurício Aniche, Jürgen Cito, Arie van Deursen 27th ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering (ESEC/FSE), 2019
Engineering modern large-scale software requires software developers to not solely focus on writing code, but also to continuously examine monitoring data to reason about the dynamic behavior of their systems. These additional monitoring responsibilities for developers have only emerged recently, in the light of DevOps culture. Interestingly, so...
Tracing Back Log Data to its Log Statement: From Research to Practice Daan Schipper, Maurício Aniche, Arie van Deursen IEEE/ACM 16th International Conference on Mining Software Repositories (MSR), 2019
Logs are widely used as a source of information to understand the activity of computer systems and to monitor their health and stability. However, most log analysis techniques require the link between the log messages in the raw log file and the log statements in the source code that produce them. Several solutions have been proposed to solve th...
Factors Affecting Cloud Infra-Service Development Lead Times: A Case Study at ING Hennie Huijgens, Eric Greuter, Jerry Brons, Evert A. van Doorn, Ioannis Papadopoulos, Francisco Morales Martinez, Maurício Aniche, Otto Visser, Arie van Deursen 41st ACM/IEEE International Conference on Software Engineering, Software Engineering in Practice (SEIP), 2019
The development of Cloud Infra-Services has shifted over the past decade in the direction of a software code development process, also known as infrastructure as code (IaC). Contemporary continuous delivery settings in industry require fast feedback. As a consequence, companies need insight in time spent, especially in the development of such se...
An Exploratory Study on Faults in Web API Integration in a Large-Scale Payment Company Joop Aué, Maurício Aniche, Maikel Lobbezoo, Arie van Deursen ICSE-SEIP '18: 40th International Conference on Software Engineering: Software Engineering in Practice Track, 2018
Service-oriented architectures are more popular than ever, and increasingly companies and organizations depend on services offered through Web APIs. The capabilities and complexity of Web APIs differ from service to service, and therefore the impact of API errors varies. API problem cases related to Adyen’s payment service were found to have dir...
An Experience Report on Applying Passive Learning in a Large-Scale Payment Company Rick Wieman, Maurício Aniche, Willem Lobbezoo, Sicco Verwer, Arie van Deursen 33rd IEEE International Conference on Software Maintenance and Evolution (ICSME), 2017
Passive learning techniques infer graph models on the behavior of a system from large trace logs. The research community has been dedicating great effort in making passive learning techniques more scalable and ready to use by industry. However, there is still a lack of empirical knowledge on the usefulness and applicability of such techniques in...
Increasing Learning in an Agile Environment: Lessons Learned in an Agile Team Maurício Aniche, Guilherme Silveira Agile Conference, 2011
Learning is an important part of the software development process. There are many advantages for developers willing to learn: increased internal and external quality of the produced software, and a reduced learning curve as beginners become high-skilled developers much faster than usual. However, learning is not taken seriously by many teams. T...