79 citations · 86 across the 5 of their papers we have counts for
16 papers
Data-Driven Extract Method Recommendations: A Study at ING
David van der Leij, Jasper Binda, Robbert van Dalen +3
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 re…
Interactive Static Software Performance Analysis in the IDE
Aaron Beigelbeck, Maurício Aniche, Jürgen Cito
Detecting performance issues due to suboptimal code during the development process can be a daunting task, especially when it comes to localizing them after noticing performance de…
Secure Software Engineering in the Financial Services: A Practitioners' Perspective
Vivek Arora, Enrique Larios Vargas, Maurício Aniche +1
Secure software engineering is a fundamental activity in modern software development. However, while the field of security research has been advancing quite fast, in practice, ther…
Logging Practices with Mobile Analytics: An Empirical Study on Firebase
Julian Harty, Haonan Zhang, Lili Wei +3
Software logs are of great value in both industrial and open-source projects. Mobile analytics logging enables developers to collect logs remotely from their apps running on end us…
Atoms of Confusion in Java
Chris Langhout, Maurício Aniche
Although writing code seems trivial at times, problems arise when humans misinterpret what the code actually does. One of the potential causes are "atoms of confusion", the smalles…
An Exploratory Study of Log Placement Recommendation in an Enterprise System
Jeanderson Cândido, Jan Haesen, Maurício Aniche +1
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 d…
The Prevalence of Code Smells in Machine Learning projects
Bart van Oort, Luís Cruz, Maurício Aniche +1
Artificial Intelligence (AI) and Machine Learning (ML) are pervasive in the current computer science landscape. Yet, there still exists a lack of software engineering experience an…
How Developers Engineer Test Cases: An Observational Study
Maurício Aniche, Christoph Treude, Andy Zaidman
One of the main challenges that developers face when testing their systems lies in engineering test cases that are good enough to reveal bugs. And while our body of knowledge on so…
Learning Off-By-One Mistakes: An Empirical Study
Hendrig Sellik, Onno van Paridon, Georgios Gousios +1
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…
Automatically Identifying Parameter Constraints in Complex Web APIs: A Case Study at Adyen
Henk Grent, Aleksei Akimov, Maurício Aniche
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 caus…
Search-Based Software Re-Modularization: A Case Study at Adyen
Casper Schröder, Adriaan van der Feltz, Annibale Panichella +1
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 pr…
Selecting third-party libraries: The practitioners' perspective
Enrique Larios-Vargas, Maurício Aniche, Christoph Treude +2
The selection of third-party libraries is an essential element of virtually any software development project. However, deciding which libraries to choose is a challenging practical…
The Effectiveness of Supervised Machine Learning Algorithms in Predicting Software Refactoring
Maurício Aniche, Erick Maziero, Rafael Durelli +1
Refactoring is the process of changing the internal structure of software to improve its quality without modifying its external behavior. Empirical studies have repeatedly shown th…
Log-based software monitoring: a systematic mapping study
Jeanderson Barros Cândido, Maurício Finavaro Aniche, Arie van Deursen
Modern software development and operations rely on monitoring to understand how systems behave in production. The data provided by application logs and runtime environment are esse…
Comprehending Test Code: An Empirical Study
Chak Shun Yu, Christoph Treude, Maurício Aniche
Developers spend a large portion of their time and effort on comprehending source code. While many studies have investigated how developers approach these comprehension tasks and w…
Unusual Events in GitHub Repositories
Christoph Treude, Larissa Leite, Maurício Aniche
In large and active software projects, it becomes impractical for a developer to stay aware of all project activity. While it might not be necessary to know about each commit or is…