Nélio Cacho

dblp:39/2172 · also Nelio Alessandro Azevedo Cacho · DBLP profile ↗
← Back
24ranked-venue papers
3as first author
4since 2021 · last 2024
0000-0002-4706-5616ORCID · verified

Domains — the database's venue-derived domains; a paper can count in several

Software engineering, systems software and programming languages · 16 · 3 first-authorApplied, interdisciplinary, general and emerging computing · 6 · 1 since 2021Artificial intelligence and machine learning · 4 · 1 since 2021Databases, data management, data science and information retrieval · 2Systems, architecture and hardware · 1 · 1 since 2021

Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.

Software engineering, system software, and programming languages
4 papers
Software maintenance and evolution · 79% Programming languages and type systems · 9% Software testing · 9%

Topics — the 11 heaviest of 12, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Software maintenance and evolution
change impact analysis
0.212014
Trading robustness for maintainability: an empirical study of evolving c# programs · ICSE 2014
Software maintenance and evolution
software modularity
0.122008
Evolving software product lines with aspects: an empirical study on design stability · ICSE 2008
Exceptions and aspects: the devil is in the details · SIGSOFT FSE 2006
Software testing
fault analysis
0.112010
An exploratory study of fault-proneness in evolving aspect-oriented programs · ICSE (1) 2010
Programming languages and type systems
functional programming
0.112010
An exploratory study of fault-proneness in evolving aspect-oriented programs · ICSE (1) 2010
Software maintenance and evolution
software evolution
0.112010
An exploratory study of fault-proneness in evolving aspect-oriented programs · ICSE (1) 2010
Software maintenance and evolution › software evolution
software product line evolution
0.112008
Evolving software product lines with aspects: an empirical study on design stability · ICSE 2008
Software maintenance and evolution › refactoring
aspect-oriented refactoring
0.112006
Exceptions and aspects: the devil is in the details · SIGSOFT FSE 2006
Software maintenance and evolution
refactoring
0.112006
Exceptions and aspects: the devil is in the details · SIGSOFT FSE 2006
Software maintenance and evolution › software quality assurance
software quality assessment
0.112006
Exceptions and aspects: the devil is in the details · SIGSOFT FSE 2006
Software maintenance and evolution › change impact analysis
change propagation
0.012008
Evolving software product lines with aspects: an empirical study on design stability · ICSE 2008
Empirical software engineering › software engineering research methodology
empirical study
0.012008
Evolving software product lines with aspects: an empirical study on design stability · ICSE 2008

Methods — techniques the papers use, named apart from their topics

control flow analysis · 0.2change impact analysis · 0.2aspect-oriented programming · 0.1statistical analysis · 0.1quantitative case study · 0.1quality metrics · 0.1case study · 0.1
YearPublicationVenuePosition
2024 A criminal macrocause classification model: An enhancement for violent crime analysis considering an unbalanced dataset
Ramiro de Vasconcelos dos Santos Júnior, João Vitor Venceslau Coelho, Nélio Cacho, Daniel Araújo 0001
Expert Syst. Appl.3
2023 A pipeline to collaborative AI models creation between Brazilian governmental institutions
abstract
The government has worked to improve technolo-gies to advance criminal investigations. It is very common for Brazilian public institutions to spend resources on systems to improve population security or investigations through artificial intelligence. A central point in this context is the data used by the institutions classified as highly sensitive. This sensitiveness creates a complex barrier to cooperation between governmental institutions from different areas. In this context, this study proposes a federated learning pipeline to encourage artificial intelligence model sharing between government institutions, taking advantage of high-security networks and computational resources from governmental institutions. We leveraged consolidated frameworks such as Docker and TensorFlow to ease the model sharing and training process without working with sensitive data risks. In this work, the performance of 5 different Federated Learning algorithms was tested using three different AI algorithms. In our experiments, the use of Federated Learning in the context of Brazilian governmental institutions proved to create models with performance similar to the standard Centralized Learning techniques in three different federated learning algorithms.
Mickael Figueredo, Daniel Sabino, Nélio Cacho
ISADS4
2022 SAPPARCHI: an Osmotic Platform to Execute Scalable Applications on Smart City Environments
abstract
In the Smart Cities context, a plethora of Middle-ware Platforms had been proposed to support applications execution and data processing. Despite all the progress already made, the vast majority of solutions have not met the requirements of Applications’ Runtime, Development, and Deployment when related to Scalability. Some studies point out that just 1 of 97 (1%) reported platforms reach this all this set of requirements at same time. This small number of platforms may be explained by some reasons: i) Big Data: The huge amount of processed and stored data with various data sources and data types, ii) Multi-domains: many domains involved (Economy, Traffic, Health, Security, Agronomy, etc.), iii) Multiple processing methods like Data Flow, Batch Processing, Services, and Microservices, and 4) High Distributed Degree: The use of multiple IoT and BigData tools combined with execution at various computational levels (Edge, Fog, Cloud) leads applications to present a high level of distribution. Aware of those great challenges, we propose Sapparchi, an integrated architectural model for Smart Cities applications that defines multi-processing levels (Edge, Fog, and Cloud). Also, it presents the Sapparchi middleware platform for developing, deploying, and running applications in the smart city environment with an osmotic multi-processing approach that scales applications from Cloud to Edge. Finally, an experimental evaluation exposes the main advantages of adopting Sapparchi.
Arthur Souza 0001, Nélio Cacho, Thaís Vasconcelos Batista, Rajiv Ranjan 0001
CLOUD2
2022 A platform for integrating heterogeneous data and developing smart city applications
Thaís Vasconcelos Batista, Everton Cavalcante, Arthur Souza 0001, Frederico Lopes, Nélio Cacho
Future Gener. Comput. Syst.6
2019 A Customisable Pipeline for Continuously Harvesting Socially-Minded Twitter Users
Flavio Primo, Paolo Missier, Alexander B. Romanovsky, Mickael Figueredo, Nélio Cacho
ICWE5
2018 DroidEH: An Exception Handling Mechanism for Android Applications
abstract
App crashing is the most common cause of complaints about Android mobile phone apps according to recent studies. Since most Android applications are written in Java, exception handling is the primary mechanism they employ to report and handle errors, similar to standard Java applications. Unfortunately, the exception handling mechanism for the Android platform has two liabilities: (1) the "Terminate ALL" approach and (2) a lack of a holistic view on exceptional behavior. As a consequence, exceptions easily get "out of control" and, as system development progresses, exceptional control flows become less well-understood, with potentially negative effects on program reliability. This paper presents an innovative exception handling mechanism for the Android platform, named DroidEH, that provides abstractions to support systematic engineering of holistic fault tolerance by applying cross-cutting reasoning about systems and their components.
Juliana Oliveira, Hivana Macedo, Nélio Cacho, Alexander B. Romanovsky
ISSRE3
2018 Do android developers neglect error handling? a maintenance-Centric study on the relationship between android abstractions and uncaught exceptions
Juliana Oliveira, Deise Borges, Thaisa Silva, Nélio Cacho, Fernando Castor Filho
J. Syst. Softw.4
2017 Using social media photos to identify tourism preferences in smart tourism destination
abstract
Tourism and Travel sector are improving services through the use of a large amount of data gathered from different sources. The ease access to reviews, rating and experiences from different tourists made the touristic planning rich and complex. Hence, a big challenge faced by tourism sector is to use the gathered data for detecting tourist preferences. In this work, we proposed a solution able to detecting tourist implicit preferences based on photos. We used emerging techniques such as Convolutional Neural Network and fuzzy logic to classify tourists in five categories. Finally, a set of photos were analyzed and the results reached over 82% on accuracy metric for all classifiers.
Mickael Figueredo, Nélio Cacho, Antonio Thome, Andréa Cacho, Frederico Lopes, Maria Valeria Araujo
IEEE BigData2
2016 Social Smart Destination: A Platform to Analyze User Generated Content in Smart Tourism Destinations
Andréa Cacho, Mickael Figueredo, Arthur Cassio, Maria Valeria Araujo, Luiz Mendes, José Lucas Ribeiro, Hiarley Farias, Jazon Coelho, Nélio Cacho, Carlos Augusto Prolo
WorldCIST (1)9
2016 ROTA: A Smart City Platform to Improve Public Safety
Jazon Coelho, Nélio Cacho, Frederico Lopes, Emiliano Loiola, Tyago Tayrony, Thiago Andrade, Marcel Mendonça, Maychell Oliveira, Daniela Estaregue, Brunna Moura
WorldCIST (1)2
2015 Cloud Query Manager: Using Semantic Web Concepts to Avoid IaaS Cloud Lock-In
abstract
The cloud lock-in problem is commonly addressed by three strategies: (i) use of intermediate layer between cloud services consumers and providers, (ii) use of standardized interfaces to access cloud services, or (iii) use of models with open specifications. This paper evaluated these strategies and concluded that despite the advances they introduced, none of them actually solves the cloud lock-in problem. To address this issue, this paper proposes the use of Semantic Web concepts to avoid cloud lock-in. The strategy consists of using RDF models to specify the features of a cloud service, which are managed by SPARQL queries. The contribution of this paper is fourfold: (i) to evaluate three multi-cloud solutions for the cloud lock-in problem in the context of three cloud platforms, (ii) to propose a strategy using RDF and SPARQL for managing cloud resources, (iii) to present the Cloud Query Manager (CQM), an SPARQL server that implements the proposal, and (vi) to compare three multi-cloud solutions with CQM in terms of response time and the effectiveness in the resolution of the cloud lock-in problem.
Arthur Souza 0001, Nélio Cacho, Thaís Vasconcelos Batista, Frederico Lopes
CLOUD2
2014 Trading robustness for maintainability: an empirical study of evolving c# programs
abstract
Mainstream programming languages provide built-in exception handling mechanisms to support robust and maintainable implementation of exception handling in software systems. Most of these modern languages, such as C#, Ruby, Python and many others, are often claimed to have more appropriated exception handling mechanisms. They reduce programming constraints on exception handling to favor agile changes in the source code. These languages provide what we call maintenance-driven exception handling mechanisms. It is expected that the adoption of these mechanisms improve software maintainability without hindering software robustness. However, there is still little empirical knowledge about the impact that adopting these mechanisms have on software robustness. This paper addressed this gap by conducting an empirical study aimed at understanding the relationship between changes in C# programs and their robustness. In particular, we evaluated how changes in the normal and exceptional code were related to exception handling faults. We applied a change impact analysis and a control flow analysis in 119 versions of 16 C# programs. The results showed that: (i) most of the problems hindering software robustness in those programs are caused by changes in the normal code, (ii) many potential faults were introduced even when improving exception handling in C# code, and (iii) faults are often facilitated by the maintenance-driven flexibility of the exception handling mechanism. Moreover, we present a series of change scenarios that decrease the program robustness.
Nélio Cacho, Thiago César, Thomas Filipe, Eliezio Soares, Arthur Cassio, Rafael Souza, Israel García, Eiji Adachi Barbosa, Alessandro F. Garcia 0001
ICSE1
2014 How Does Exception Handling Behavior Evolve? An Exploratory Study in Java and C# Applications
abstract
Exception handling mechanisms (EHM) were conceived as a means to improve maintainability and reliability of programs that have to deal with exceptional situations. Amongst the different implementations of built-in EHM, we classify them in two main categories: reliability-driven and maintenance-driven. Some programming languages, such as Java, provide built-in exception handling mechanisms that promote reliability-driven EHMs. Maintenance-driven EHMs, on the other hand, promote software maintainability by not forcing developers to specify exception handling constraints. Most of modern languages, such as C#, Ruby, Python and many others support this approach. Developers usually have to choose between maintainability-driven and reliability-driven approaches to structure exception handling in their applications. However, there is still little empirical knowledge about the impact that adopting these mechanisms have on software robustness and maintenance. This paper addressed this gap by conducting an empirical study aimed at understanding the relationship between changes in Java and C# programs and their robustness. In particular, we evaluated how changes in the normal and exceptional code were related to exception handling faults. We applied a change impact analysis and a control flow analysis in 116 versions of 16 C# programs and 112 versions of 16 Java programs.
Nélio Cacho, Eiji Adachi Barbosa, Juliana Araujo, Frederico Pranto, Alessandro F. Garcia 0001, Thiago César, Eliezio Soares, Arthur Cassio, Thomas Filipe, Israel García
ICSME1
2014 Blending design patterns with aspects: A quantitative study
Nélio Cacho, Cláudio Sant'Anna, Eduardo Figueiredo 0001, Francisco Dantas, Alessandro F. Garcia 0001, Thaís Vasconcelos Batista
J. Syst. Softw.1
2013 Dynamic Adaptation of Cloud Computing Applications
André Almeida 0002, Everton Cavalcante, Thaís Vasconcelos Batista, Nélio Cacho, Frederico Lopes, Flávia Coimbra Delicato, Paulo F. Pires
SEKE4
2013 The crosscutting impact of the AOSD Brazilian research community
Uirá Kulesza, Sérgio Soares, Christina von Flach G. Chavez, Fernando Castor Filho, Paulo Borba, Carlos José Pereira de Lucena, Paulo César Masiero, Cláudio Sant'Anna, Fabiano Cutigi Ferrari, Vander Alves, Roberta Coelho, Eduardo Figueiredo 0001, Paulo F. Pires, Flávia Coimbra Delicato, Eduardo Piveta, Carla T. L. L. Silva, Valter Vieira de Camargo, Rosana T. V. Braga, Julio César Sampaio do Prado Leite, Otávio Augusto Lazzarini Lemos, Nabor das Chagas Mendonça, Thaís Vasconcelos Batista, Rodrigo Bonifácio, Nélio Cacho, Lyrene Fernandes da Silva, Arndt von Staa, Fábio Fagundes Silveira, Marco Túlio Valente, Fernanda M. R. Alencar, Jaelson Brelaz de Castro, Ricardo Argenton Ramos, Rosângela A. D. Penteado, Cecília M. F. Rubira
J. Syst. Softw.24
2012 Exploiting software product lines to develop cloud computing applications
abstract
With the advance of the Cloud Computing paradigm, new challenges in terms of models, tools, and techniques to support developers to design, build and deploy complex software systems that make full use of the cloud technology arise. In the heterogeneous scenario of this new paradigm, the development of applications using cloud services becomes hard, and the software product lines (SPL) approach is potentially promising for this context since specificities of the cloud platforms, such as services heterogeneity, pricing model, and other aspects can be catered as variabilities to core features. In this perspective, this paper (i) proposes a seamless adaptation of the SPL-based development to include important features of cloud-based applications, and (ii) reports the experience of developing HW-CSPL, a SPL for the Health Watcher (HW) System, which allows citizens to register complaints and consult information regarding the public health system of a city. Several functionalities of this system were implemented using different Cloud Computing platforms, and run time specificities of this application deployed on the cloud were analyzed, as well as other information such as change impact and pricing.
Everton Cavalcante, André Almeida 0002, Thaís Vasconcelos Batista, Nélio Cacho, Frederico Lopes, Flávia Coimbra Delicato, Thiago S. Sena, Paulo F. Pires
SPLC (2)4
2010 An exploratory study of fault-proneness in evolving aspect-oriented programs
abstract
This paper presents the results of an exploratory study on the fault-proneness of aspect-oriented programs. We analysed the faults collected from three evolving aspect-oriented systems, all from different application domains. The analysis develops from two different angles. Firstly, we measured the impact of the obliviousness property on the fault-proneness of the evaluated systems. The results show that 40% of reported faults were due to the lack of awareness among base code and aspects. The second analysis regarded the fault-proneness of the main aspect-oriented programming (AOP) mechanisms, namely pointcuts, advices and intertype declarations. The results indicate that these mechanisms present similar fault-proneness when we consider both the overall system and concern-specific implementations. Our findings are reinforced by means of statistical tests. In general, this result contradicts the common intuition stating that the use of pointcut languages is the main source of faults in AOP.
Fabiano Cutigi Ferrari, Rachel Burrows, Otávio Augusto Lazzarini Lemos, Alessandro F. Garcia 0001, Eduardo Figueiredo 0001, Nélio Cacho, Frederico Lopes, Nathalia Temudo, Liana Silva, Sérgio Soares, Awais Rashid, Paulo César Masiero, Thaís Vasconcelos Batista, José Carlos Maldonado
ICSE (1)6
2009 On the modularization and reuse of exception handling with aspects
abstract
Abstract This paper presents an in‐depth study of the adequacy of the AspectJ language for modularizing and reusing exception‐handling code. The study consisted of refactoring existing applications so that the code responsible for implementing error‐handling strategies was moved to newly created exception handler aspects. We have performed quantitative assessments of five systems—four object‐oriented and one aspect‐oriented—based on four key quality attributes, namely separation of concerns, coupling, cohesion, and conciseness. Our investigation also included a multi‐perspective analysis of the refactored systems, including (i) the extent to which error‐handling aspects can be reused, (ii) the beneficial and harmful aspectization scenarios for exception handling, and (iii) the scalability of AOP to support the modularization of exception handling in the presence of other aspects. Copyright © 2009 John Wiley & Sons, Ltd.
Fernando Castor Filho, Nélio Cacho, Eduardo Figueiredo 0001, Alessandro F. Garcia 0001, Cecília M. F. Rubira, Jefferson Silva de Amorim, Hítalo Oliveira da Silva
Softw. Pract. Exp.2
2008 Assessing the Impact of Aspects on Exception Flows: An Exploratory Study
Roberta Coelho, Awais Rashid, Alessandro F. Garcia 0001, Fabiano Cutigi Ferrari, Nélio Cacho, Uirá Kulesza, Arndt von Staa, Carlos José Pereira de Lucena
ECOOP5
2008 Evolving software product lines with aspects: an empirical study on design stability
abstract
Software product lines (SPLs) enable modular, large-scale reuse through a software architecture addressing multiple core and varying features. To reap the benefits of SPLs, their designs need to be stable. Design stability encompasses the sustenance of the product line’s modularity properties in the presence of changes to both the core and varying features. It is usually assumed that aspect-oriented programming promotes better modularity and changeability of product lines. However, there is no empirical evidence on its efficacy to prolong design stability of product lines in realistic development scenarios. This paper reports a quantitative study that evolves two SPLs to assess various facets of design stability of aspect-oriented implementations. Our investigation focused upon a multi-perspective analysis of the evolving product lines in terms of modularity, change propagation, and feature interaction.
Eduardo Figueiredo 0001, Nélio Cacho, Cláudio Sant'Anna, Mario Monteiro, Uirá Kulesza, Alessandro F. Garcia 0001, Sérgio Soares, Fabiano Cutigi Ferrari, Safoora Shakil Khan, Fernando Castor Filho, Francisco Dantas
ICSE2
2008 Conquering Fine-Grained Blends of Design Patterns
Luca Sabatucci, Alessandro F. Garcia 0001, Nélio Cacho, Massimo Cossentino, Salvatore Gaglio
ICSR3
2007 On the Impact of Aspectual Decompositions on Design Stability: An Empirical Study
Phil Greenwood, Thiago T. Bartolomei, Eduardo Figueiredo 0001, Marcos Dósea, Alessandro F. Garcia 0001, Nélio Cacho, Cláudio Sant'Anna, Sérgio Soares, Paulo Borba, Uirá Kulesza, Awais Rashid
ECOOP6
2006 Exceptions and aspects: the devil is in the details
abstract
It is usually assumed that the implementation of exception handling can be better modularized by the use of aspect-oriented programming (AOP). However, the trade-offs involved in using AOP with this goal are not well-understood. This paper presents an in-depth study of the adequacy of the AspectJ language for modularizing exception handling code. The study consisted in refactoring existing applications so that the code responsible for implementing heterogeneous error handling strategies was moved to separate aspects. We have performed quantitative assessments of four systems - three object-oriented and one aspect-oriented - based on four quality attributes, namely separation of concerns, coupling, cohesion, and conciseness. Our investigation also included a multi-perspective analysis of the refactored systems, including (i) the reusability of the aspectized error handling code, (ii) the beneficial and harmful aspectization scenarios, and (iii) the scalability of AOP to aspectize exception handling in the presence of other crosscutting concerns.
Fernando Castor Filho, Nélio Cacho, Eduardo Figueiredo 0001, Raquel Maranhão, Alessandro F. Garcia 0001, Cecília M. F. Rubira
SIGSOFT FSE2