Skip to main content

Showing 1–16 of 16 results for author: Aniche, M

.
  1. arXiv:2107.05396  [pdf, other

    cs.SE

    Data-Driven Extract Method Recommendations: A Study at ING

    Authors: David van der Leij, Jasper Binda, Robbert van Dalen, Pieter Vallen, Yaping Luo, Maurício Aniche

    Abstract: 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 Extract Method refactoring, in the context of ING, a la… ▽ More

    Submitted 22 July, 2021; v1 submitted 8 July, 2021; originally announced July 2021.

  2. arXiv:2105.02023  [pdf, other

    cs.SE

    Interactive Static Software Performance Analysis in the IDE

    Authors: Aaron Beigelbeck, Maurício Aniche, Jürgen Cito

    Abstract: 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 degradation after deployment. Static analysis has the potential to provide early feedback on performance problems to developers without having to run profilers with expensive (and often unavailable) performance tests. We d… ▽ More

    Submitted 4 May, 2021; originally announced May 2021.

  3. arXiv:2104.03476  [pdf, other

    cs.SE

    Secure Software Engineering in the Financial Services: A Practitioners' Perspective

    Authors: Vivek Arora, Enrique Larios Vargas, Maurício Aniche, Arie van Deursen

    Abstract: 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, there is still a vast knowledge gap between the security experts and the software development teams. After all, we cannot expect developers and other software practitioners to be security experts. Understanding how software… ▽ More

    Submitted 7 April, 2021; originally announced April 2021.

  4. arXiv:2104.02513  [pdf, other

    cs.SE

    Logging Practices with Mobile Analytics: An Empirical Study on Firebase

    Authors: Julian Harty, Haonan Zhang, Lili Wei, Luca Pascarella, Mauricio Aniche, Weiyi Shang

    Abstract: 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 user devices at the cost of recording and transmitting logs across the Internet to a centralised infrastructure. This paper makes a first step in characterising logging practices with a widely adopted mobile analytics lo… ▽ More

    Submitted 6 April, 2021; originally announced April 2021.

    Comments: 8th IEEE/ACM International Conference on Mobile Software Engineering and Systems 2021

  5. arXiv:2103.05424  [pdf, other

    cs.SE

    Atoms of Confusion in Java

    Authors: Chris Langhout, Maurício Aniche

    Abstract: 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 smallest possible patterns of misinterpretable source code. Previous research has investigated the impact of atoms of confusion in C code. Results show that developers make significantly more mistakes in code where atoms are pr… ▽ More

    Submitted 10 March, 2021; v1 submitted 8 March, 2021; originally announced March 2021.

  6. arXiv:2103.04146  [pdf, other

    cs.SE cs.AI cs.LG

    The Prevalence of Code Smells in Machine Learning projects

    Authors: Bart van Oort, Luís Cruz, Maurício Aniche, Arie van Deursen

    Abstract: 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 and best practices in this field. One such best practice, static code analysis, can be used to find code smells, i.e., (potential) defects in the source code, refactoring opportunities, and violations of common coding stan… ▽ More

    Submitted 6 March, 2021; originally announced March 2021.

    Comments: Submitted and accepted to 2021 IEEE/ACM 1st Workshop on AI Engineering - Software Engineering for AI (WAIN)

  7. arXiv:2103.01783  [pdf, other

    cs.SE

    How Developers Engineer Test Cases: An Observational Study

    Authors: Maurício Aniche, Christoph Treude, Andy Zaidman

    Abstract: 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 software testing and automated test case generation is already quite significant, in practice, developers are still the ones responsible for engineering test cases manually. Therefore, understanding the developers' thought… ▽ More

    Submitted 6 November, 2021; v1 submitted 1 March, 2021; originally announced March 2021.

  8. arXiv:2103.01755  [pdf, other

    cs.SE cs.LG

    An Exploratory Study of Log Placement Recommendation in an Enterprise System

    Authors: Jeanderson Cândido, Jan Haesen, Maurício Aniche, Arie van Deursen

    Abstract: 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 feasibility of leveraging machine learning to recommend log pl… ▽ More

    Submitted 10 March, 2021; v1 submitted 2 March, 2021; originally announced March 2021.

  9. arXiv:2102.12429  [pdf, other

    cs.SE

    Learning Off-By-One Mistakes: An Empirical Study

    Authors: Hendrig Sellik, Onno van Paridon, Georgios Gousios, Maurício Aniche

    Abstract: 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 conditions, the problem remains open. In this paper, we explore t… ▽ More

    Submitted 24 February, 2021; originally announced February 2021.

  10. arXiv:2102.00871  [pdf, other

    cs.SE

    Automatically Identifying Parameter Constraints in Complex Web APIs: A Case Study at Adyen

    Authors: Henk Grent, Aleksei Akimov, Maurício Aniche

    Abstract: 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 consumers to integrate without the need for additional sup… ▽ More

    Submitted 1 February, 2021; originally announced February 2021.

    Journal ref: Software Engineering in Practice of the 43rd International Conference on Software Engineering (ICSE-SEIP), 2021

  11. arXiv:2102.00701  [pdf, other

    cs.SE

    Search-Based Software Re-Modularization: A Case Study at Adyen

    Authors: Casper Schröder, Adriaan van der Feltz, Annibale Panichella, Maurício Aniche

    Abstract: 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 different techniques to support developers in re-modularizing… ▽ More

    Submitted 9 April, 2021; v1 submitted 1 February, 2021; originally announced February 2021.

    Journal ref: Software Engineering in Practice of the 43rd International Conference on Software Engineering (ICSE-SEIP), 2021

  12. Selecting third-party libraries: The practitioners' perspective

    Authors: Enrique Larios-Vargas, Maurício Aniche, Christoph Treude, Magiel Bruntink, Georgios Gousios

    Abstract: 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 problem. Selecting the wrong library can severely impact a software project in terms of cost, time, and development effort, with the severity of the impact depending on the role of the library in the software architectu… ▽ More

    Submitted 9 September, 2020; v1 submitted 26 May, 2020; originally announced May 2020.

  13. arXiv:2001.03338  [pdf, other

    cs.SE

    The Effectiveness of Supervised Machine Learning Algorithms in Predicting Software Refactoring

    Authors: Maurício Aniche, Erick Maziero, Rafael Durelli, Vinicius Durelli

    Abstract: 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 that refactoring has a positive impact on the understandability and maintainability of software systems. However, before carrying out refactoring activities, developers need to identify refactoring opportunities. Currently… ▽ More

    Submitted 11 September, 2020; v1 submitted 10 January, 2020; originally announced January 2020.

    Comments: To appear in TSE

  14. arXiv:1912.05878  [pdf, other

    cs.SE

    Log-based software monitoring: a systematic mapping study

    Authors: Jeanderson Barros Cândido, Maurício Finavaro Aniche, Arie van Deursen

    Abstract: 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 essential to detect and diagnose undesired behavior and improve system reliability. However, despite the rich ecosystem around industry-ready log solutions, monitoring complex systems and getting insights from log data remai… ▽ More

    Submitted 5 March, 2021; v1 submitted 12 December, 2019; originally announced December 2019.

  15. arXiv:1907.13365  [pdf, ps, other

    cs.SE

    Comprehending Test Code: An Empirical Study

    Authors: Chak Shun Yu, Christoph Treude, Maurício Aniche

    Abstract: 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 what factors influence their success, less is known about how developers comprehend test code specifically, despite the undisputed importance of testing. In this paper, we report on the results of an empirical study with… ▽ More

    Submitted 31 July, 2019; originally announced July 2019.

    Comments: to appear as full paper at ICSME 2019, the 35th International Conference on Software Maintenance and Evolution

  16. arXiv:1710.01943  [pdf, other

    cs.SE

    Unusual Events in GitHub Repositories

    Authors: Christoph Treude, Larissa Leite, Maurício Aniche

    Abstract: 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 issue, it is arguably important to know about the ones that are unusual. To investigate this hypothesis, we identified unusual events in 200 GitHub projects using a comprehensive list of ways in which an artifact can be un… ▽ More

    Submitted 30 April, 2018; v1 submitted 5 October, 2017; originally announced October 2017.

    Comments: Accepted for publication in Journal of Systems and Software