Paulo Meirelles

Paulo Meirelles
Universidade Federal do ABC (UFABC) | UFABC · Center of Mathematics, Computation and Cognition (CMCC)

PhD

About

53
Publications
17,907
Reads
How we measure 'reads'
A 'read' is counted each time someone views a publication summary (such as the title, abstract, and list of authors), clicks on a figure, or views or downloads the full-text. Learn more
444
Citations
Introduction
Research Interests: Software Engineering, Static source code analysis, Free Software, Agile methods, DevOps, and Mining software repositories.

Publications

Publications (53)
Preprint
Context: DevOps responds to the growing need of companies to streamline the software development process and, thus, have experienced a widespread adoption in the past few years. However, successful adoption of DevOps requires companies to address important cultural and organizational changes. Understanding the organizational structure and character...
Preprint
DevOps and continuous delivery have impacted the organizational structures of development and infrastructure groups in software-producing organizations. Our research aims at revealing the different options adopted by the software industry to organize such groups, understanding why different organizations adopt distinct structures, and discovering h...
Preprint
Full-text available
Code annotations is a widely used feature in Java systems to configure custom metadata on programming elements. Their increasing presence creates the need for approaches to assess and comprehend their usage and distribution. In this context, software visualization has been studied and researched to improve program comprehension in different aspects...
Article
Full-text available
With the evolution of technology, maps have changed how they are produced and consumed. In the 1990s, along with the internet uprise, printed and digital maps began to be shared and viewed on the web, which provided more significant user interaction with the map and geographic data. However, the ease of creating interactive maps using computational...
Conference Paper
Full-text available
Digital games are also a software product. However, games have a fun requirement and tightly coupled UI, which makes them hard to test. Nevertheless, they are made of code and might also benefit from the advantages that automated tests bring to enterprise software systems. In this paper, we discuss two categories of automated tests for games, focus...
Article
Context: To accelerate time-to-market and improve customer satisfaction, software-producing organizations have adopted continuous delivery practices, impacting the relations between development and infrastructure professionals. Yet, no substantial literature has substantially tackled how the software industry structures the organization of developm...
Conference Paper
Although Open Source Software (OSS) maintainers devote a significant proportion of their work to coding tasks, great maintainers must excel in many other activities beyond coding. Maintainers should care about fostering a community, helping new members to find their place, while also saying “no” to patches that although are well-coded and well-test...
Conference Paper
In this research, we aim to understand the organizational structures adopted by software-producing organizations for managing IT technical teams in a continuous delivery context. Following Grounded Theory guidelines, we interviewed 46 IT professionals to investigate how organizations pursuing continuous delivery organize their development and opera...
Conference Paper
Full-text available
Java developers make extensive use of code annotations since their introduction in version 5 of the language. They are inserted directly on the source code for custom metadata configuration , similar to C# attributes. The software engineering community has few works investigating their usage and impact on source code. Being able to visualize charac...
Article
Manufacturers are creating powerful CPUs by exponentially increasing the number of cores over time, as producing faster sequential chips has become more expensive. Developers must now employ parallel strategies and design parallel algorithms if they want to use every resource available in the machine. Still, many successful open-source projects are...
Preprint
Full-text available
Context: Continuous delivery practices accelerate time to market and improve customer satisfaction. Although recent related work suggests that organizations employing continuous delivery should promote a collaborative culture among different IT teams, there is no substantial literature tackling how organizations should organize their teams to excel...
Conference Paper
Over the last decades, the Free/Libre/Open Source Software (FLOSS) phenomenon has been a topic of study and a source of real-life artifacts for software engineering research. A FLOSS project usually has a community around its project, organically producing informative resources to describe how, when, and why a particular change occurred in the sour...
Preprint
Full-text available
Based on Grounded Theory guidelines, we interviewed 27 IT professionals to investigate how organizations pursuing continuous delivery should organize their development and operations teams. In this paper, we present the discovered organizational structures: (1) siloed departments, (2) classical DevOps, (3) cross-functional teams, and (4) platform t...
Article
Full-text available
Since the introduction of code annotations in the Java language,this feature has been widely adopted by software developers across the globe. Main enterprise frameworks make extensive use of code annotations as a replacement for XML based solutions. Code annotations are inserted directlyon code elements, providing a simple way to introduce custom m...
Preprint
Full-text available
In this work, we employed Grounded Theory to investigate how organizations pursuing continuous delivery should organize their development and operations teams. We collected data from 27 IT professionals. After a careful analysis, we started the elaboration of a taxonomy with four patterns of organizational structures: (1) siloed departments, (2) cl...
Preprint
BACKGROUND Health Informatics Systems (HIS) draw more attention as their benefits are further explored and becoming more evident. The improvement of patient care and the quality of health services are examples of such advantages. Nevertheless, proprietary systems are not always viable due to their high costs. OBJECTIVE We investigated the benefits...
Article
Full-text available
Government and academia share concerns for efficiently and effectively servicing societal demands, which includes the development of e-government software. Government-academia partnerships can be a valuable approach for improving productivity in achieving these goals. However, governmental and academic institutions tend to have very different agend...
Article
Full-text available
DevOpsis a collaborative and multidisciplinary organizational effort to automate continuous delivery of new software updates while guaranteeing their correctness and reliability. The present survey investigates and discusses DevOps challenges from the perspective of engineers, managers, and researchers. We review the literature and develop a DevOps...
Conference Paper
Full-text available
The C# attributes have been available since the release of this language as a means to configure custom metadata on code elements. Being very similar to Java annotations, they are both introduced directly in the source code. Several C# frameworks such as NUnit, Unity Game Engine, and JSON.net use attributes to allow applications to configure custom...
Preprint
Full-text available
DevOps is a collaborative and multidisciplinary organizational effort to automate continuous delivery of new software updates while guaranteeing their correctness and reliability. The present survey investigates and discusses DevOps challenges from the perspective of engineers, managers, and researchers. We review the literature and develop a DevOp...
Conference Paper
Full-text available
While there is a wide variety of both open source and proprietary source code static analyzers available in the market, each of them usually performs better in a small set of problems, making it hard to choose one single tool to rely on when examining a program looking for bugs in the source code. Combining the analysis of different tools may reduc...
Chapter
Full-text available
One of the software industries with the most significant growth nowadays is the mobile application industry. In this paper, we study the differences between two mobile development approaches: (i) native (the development that’s specific for each platform) and (ii) cross-platform (when a standard code is shared among different platforms). Inexperienc...
Chapter
The Open Source Software (OSS) ecosystem and community has evolved enormously from the first edition of the OSS conference that took place in Genoa (Italy) in 2005. Such evolution happened in every aspect of OSS including research, technology, and business pushing its adoption to an unpredictable scale. Nowadays, it is almost impossible for people...
Conference Paper
Full-text available
Software Engineering courses often emphasize teaching methodologies and concepts in small and controlled environments over teaching, say, maintenance aspects of full-fledged real software systems. This decision is partly justified due to the difficulty of bringing to the context of a classroom a real software project. The widespread presence of ope...
Book
This book constitutes revised selected papers from the 10th Brazilian Workshop on Agile Methods, WBMA 2019, held in Belo Horizonte, Brazil, in September 2019. The 6 full and 4 short papers presented in this volume were carefully reviewed and selected from 21 submissions. Accepted papers focus on agile methods; experimental studies with agile; softw...
Conference Paper
Code annotations are extensively used by Java developers, especially in enterprise frameworks and APIs such as Spring and Java EE. Different code elements that frequently share some similarities, sometimes, repeat the annotations. The goal of this paper is to evaluate whether a real-world system could use code conventions as a means to avoid replic...
Conference Paper
Full-text available
From 1991 to 2015, 60 papers published in the ASE and SCAM conferences introduced static analysis prototypes or tools as academic software developed to support research. In this study, we characterize such academic software concerning sustainability. We performed an exploratory study regarding publicization (whether the software is available from a...
Conference Paper
Full-text available
Traditional Software Engineering courses commonly prioritize the teaching of methodologies and concepts in small and controlled environments. This decision is partly justified by the difficulty of bringing real software projects to the classroom. The ubiquity of Open Source Software (OSS) projects contributes to mitigating this problem. Several ins...
Conference Paper
Full-text available
Since the introduction of code annotations in the Java language, this feature has been widely adopted by software developers across the globe. Main enterprise frameworks make extensive use of code annotations as a replacement for XML based solutions. Code annotations are inserted directly on code elements, providing a simple way to introduce custom...
Chapter
Full-text available
Government and academia can collaborate on bringing innovation and filling design-reality gaps in e-government projects. However, differences in project management methods employed by the organizations is often a challenge for collaborative works. Bearing that in mind, we investigated a 30-month government-academia partnership to find appropriate w...
Chapter
Full-text available
Performing source code static analysis during the software development cycle is a difficult task. There are different static analyzers available, and each of them usually works better in a small subset of problems, making it hard to choose a single tool. Combining the analysis of different tools solves this problem, but brings about other problems,...
Chapter
Full-text available
Software release planning is crucial to software projects that adopt incremental development. Open source projects depend on their globally distributed maintainers’ communities who share project information, usually described in the software project repository as issues, to plan the contents and timing of the next releases. This paper introduces an...
Article
Full-text available
Due to the constant evolution of technology, each day brings new programming languages, development paradigms, and ways of evaluating processes. This is no different with source code metrics, where there is always new metric classes. To use a software metric to support decisions, it is necessary to understand how to perform the metric collection, c...
Article
Full-text available
For many software development teams, the first aspects that come to mind regarding Continuous Delivery (CD) are the operational challenges and the competitive benefits. In our experience, CD was much more: it was a survival technique. This article presents how and why we applied CD in a large governmental project for the development of a Collaborat...
Article
Full-text available
Code annotation is a language feature that enables the introduction of custom metadata on programming elements. In Java, this feature was introduced on version 5, and today it is widely used by main enterprise application frameworks and APIs. Although this language feature potentially simplifies metadata configuration, its abuse and misuse can redu...
Conference Paper
Full-text available
Code annotation allows the introduction of custom metadata on programming elements directly on the source code. In Java, it is used extensively by enterprise applications and frameworks. Although it has become popular, there are few studies dedicated to the analysis and assessment of its usage. For instance, it is unknown the impact that annotation...
Conference Paper
Full-text available
The Brazilian Public Software (SPB) is a program promoted by the Brazilian Federal Government to foster sharing and collaboration on Free/Libre/Open Source Software (FLOSS) solutions for the public administration. In this context, a public software is considered a public good and the Federal Government assumes some responsibilities related to its u...
Conference Paper
Full-text available
The federation of social networks aims at integrating users by means of a decentralized structure, enabling the interoperability among multiple social networks in a transparent way. Despite a few isolated initiatives in federating open social networks, there is no adoption of any standard, which hinders the emergence of new, effective federated sys...
Conference Paper
Full-text available
Free/Libre/Open Source Software (FLOSS) communities have produced a large amount of valuable software that is directly or indirectly used daily by any person with access to a computer. The field of Software Engineering studies processes, mechanisms, tools, and frameworks for the development of software artifacts. Historically, however, most of Soft...
Conference Paper
Full-text available
A significant number of Free Software projects has been widely used and considered successful. However, there is an even larger number of them that cannot overcome the initial step towards building an active community of users and developers. In this study, we investigated whether there are relationships between source code metrics and attractivene...
Article
Full-text available
This paper describes Analizo, a free, multi-language, extensible source code analysis and visualization toolkit. It supports the extraction and calcula-tion of a fair number of source code metrics, generation of dependency graphs, and software evolution analysis.
Article
Full-text available
A novel strategy to detect interconnect faults between distinct channels in networks-on-chip is proposed. Short faults between distinct channels in the data, control and communication handshake lines are considered in a cost-effective test sequence for Mesh NoC topologies based on XY routing.
Article
Full-text available
Sistemas embarcados estão mais complexos e são cada vez mais utilizados em contextos que exigem muitos recursos computacionais. Isso significa que o hardware embarcado pode ser composto por vários processadores, memórias, partes reconfiguráveis e ASIPs integrados em um único silício. Adicionalmente, o software embarcados pode conter muitas rotinas...
Conference Paper
Full-text available
An extended fault model and novel strategy to tackle interconnect faults in network-on-chips are proposed. Short faults between distinct channels are considered in a cost-effective test sequence for mesh NoC topologies based on XY routing.
Article
Full-text available
The overall goal of this work is to study software metrics and develop a tool for automatic quality evaluation of source code for free and open source software (FLOSS). This tool will be based on metrics that, combined and confi- gured by specialists, will provide automatic analysis of features such as flexibi- lity, clarity, modularity and softwar...

Network

Cited By

Projects