Network


Latest external collaboration on country level. Dive into details by clicking on the dots.

Hotspot


Dive into the research topics where Heitor Costa is active.

Publication


Featured researches published by Heitor Costa.


international conference on information technology: new generations | 2015

Detecting Code Smells in Software Product Lines -- An Exploratory Study

Ramon Abilio; Juliana Padilha; Eduardo Figueiredo; Heitor Costa

Code smells are symptoms that something is wrong in the source code. They have been catalogued and investigated in several programming techniques. These techniques can be used to develop Software Product Lines (SPL). However, feature-oriented programming (FOP) is a specific technique to deal with the modularization of features in SPL. One of the most popular FOP languages is AHEAD and, as far as we are concerned, we still lack systematic studies on the categorization and detection of code smells in AHEADFOP languages-based SPL. To fill this gap, this paper extends the definitions of three traditional code smells, namely God Method, God Class, and Shotgun Surgery, to take into account FOP abstractions. We then proposed 8 new FOP measures to quantify specific characteristics of compositional approaches like AHEAD. Finally, we combine the proposed and existing measures to define 3 detection strategies for identifying the investigated code smells. To evaluate the detection strategies, we performed an exploratory study involving 26 participants. The study participants rely on metrics to identify code smells in 8 AHEAD systems. Our results show that the proposed detection strategies can be used as code smell predictor since statistical tests indicate agreement among them and the study participants.


2013 VII Brazilian Symposium on Software Components, Architectures and Reuse | 2013

Software Variability Management: An Exploratory Study with Two Feature Modeling Tools

Juliana Alves Pereira; Carlos Souza; Eduardo Figueiredo; Ramon Abilio; Gustavo Vale; Heitor Costa

Software Product Line (SPL) is becoming widely adopted in industry due to its capability of minimizing costs and improving quality of software systems through systematic reuse of software artifacts. An SPL is a set of software systems sharing a common, managed set of features that satisfies the specific needs of a particular market segment. A feature represents an increment in functionality relevant to some stakeholders. There are several tools to support variability management by modeling features in SPL. However, it is hard for a developer to choose the most appropriate feature modeling tool due to the several options available. This paper presents the results of an exploratory study aiming to support SPL engineers choosing the feature modeling tool that best fits their needs. This exploratory study compares and analyzes two feature modeling tools, namely FeatureIDE and SPLOT, based on data from 56 participants that used the analyzed tools. In this study, we performed a four-dimension qualitative analysis with respect to common functionalities provided by feature modeling tools: (i) Feature Model Editor, (ii) Automated Analysis of Feature Models, (iii) Product Configuration, and (iv) Tool Notation. The main issues we observed in SPLOT are related to its interface. FeatureIDE, on the other hand, revealed some constraints when creating feature models.


2014 Eighth Brazilian Symposium on Software Components, Architectures and Reuse | 2014

Bad Smells in Software Product Lines: A Systematic Review

Gustavo Vale; Eduardo Figueiredo; Ramon Abilio; Heitor Costa

Software product line (SPL) is a set of software systems that share a common, managed set of features satisfying the specific needs of a particular market segment. Bad smells are symptoms that something may be wrong in system design. Bad smells in SPL are a relative new topic and need to be explored. This paper performed a Systematic Literature Review (SLR) to find and classify published work about bad smells in SPLs and their respective refactoring methods. Based on 18 relevant papers found in the SLR, we identified 70 bad smells and 95 refactoring methods related to them. The main contribution of this paper is a catalogue of bad smells and refactoring methods related to SPL.


2012 Sixth Brazilian Symposium on Software Components, Architectures and Reuse | 2012

A Systematic Review of Contemporary Metrics for Software Maintainability

Ramon Abilio; Pedro Teles; Heitor Costa; Eduardo Figueiredo

Previous studies have been conducted with the aim of increasing the system quality. As a result, some contemporary technologies have been proposed for software development to improve maintainability, such as feature-oriented and aspect-oriented programming. Metrics are used to quantify the quality of systems developed in these technologies. Recently, contemporary metrics have been proposed or adapted from existing ones to evaluate specific issues of these contemporary technologies. This paper presents results of applying a systematic literature review to identify contemporary metrics associated with software maintainability and proposed for the feature-oriented and aspect-oriented technologies. Initially, we identify 672 published works and, after the primary selection, these quantity was reduced to 11 papers. These papers account for 33 and 78 contemporary metrics for feature-oriented and aspect-oriented technologies, respectively. The main contributions of this paper are (i) the list of metrics and measurable properties studies for feature-oriented and aspect-oriented programming, (ii) elaboration of a unified catalog of metrics applicable for both technologies, and (iii) identification of their main references.


workshop on emerging trends in software metrics | 2016

Metrics for feature-oriented programming

Ramon Abilio; Gustavo Vale; Eduardo Figueiredo; Heitor Costa

Feature-oriented programming (FOP) is a programming technique to implement software product lines based on composition mechanisms called refinements. A software product line is a set of software systems that share a common, managed set of features satisfying the specific needs of a particular market segment. The literature reports various software metrics for software product lines developed using object-oriented and aspect-oriented programming. However, after a literature review, we observed that we lack the definition of FOP-specific metrics. Based on this observation, this paper proposes a set of eight novel metrics for feature-oriented programming. These metrics were derived both from our experience in FOP and from existing software metrics. We demonstrate the applicability of the proposed metrics by applying them to a software product line.


information reuse and integration | 2012

Managing reusable learning objects and experience reports in EduSE portal

Rodrigo Pereira dos Santos; Cláudia Maria Lima Werner; Heitor Costa; Ramon Abilio; Hudson Borges

There are initiatives to improve Software Engineering (SE) teaching and learning processes, but these are often isolated, because there is no appropriate channel for their dissemination in order to allow their use in similar contexts. In this sense, this paper presents an evolution of EduSE Portal aiming to store and manage these initiatives as learning objects (LOs) and experience reports in a repository, as well as coordinate the roles of stakeholders based on reuse processes. In the LOs repository, the SE researcher provides his/her initiative and a protocol that will guide the professor in LOs application in classroom. Thus, professors can search and retrieve LOs and researchers can get the community feedback. In the experience reports repository, researchers and professors perform the integration of their experiences and this exchange can improve both LOs application and evolution. An initial usability study is discussed, evaluating the infrastructure as a whole.


Information & Software Technology | 2017

A systematic mapping study on game-related methods for software engineering education

Maurício R. de A. Souza; Lucas Veado; Renata Teles Moreira; Eduardo Figueiredo; Heitor Costa

Abstract Context The use of games in software engineering education is not new. However, recent technologies have provided new opportunities for using games and their elements to enhance learning and student engagement. Objective The goal of this paper is twofold. First, we discuss how game-related methods have been used in the context of software engineering education by means of a systematic mapping study. Second, we investigate how these game-related methods support specific knowledge areas from software engineering. By achieving these goals, we aim not only to characterize the state of the art on the use of game-related methods on software engineering education, but also to identify gaps and opportunities for further research. Method We carried out a systematic mapping study to identify primary studies which address the use, proposal or evaluation of games and their elements on software engineering education. We classified primary studies based on type of approaches, learning goals based on software engineering knowledge areas, and specific characteristics of each type of approach. Results We identified 156 primary studies, published between 1974 and June 2016. Most primary studies describe the use of serious games (86) and game development (57) for software engineering education, while Gamification is the least explored method (10). Learning goals of these studies and their development of skills are mostly related to the knowledge areas of “Software Process”, “Software Design”, and “Professional Practices”. Conclusions The use of games in software engineering education is not new. However, there are some knowledge areas where the use of games can still be further explored. Gamification is a new trend and existing research in the field is quite preliminary. We also noted a lack of standardization both in the definition of learning goals and in the classification of game-related methods.


Computing Conference (CLEI), 2014 XL Latin American | 2014

Systematic literature review supported by information retrieval techniques: A case study

Ramon Abilio; Gustavo Vale; Denilson Pereira; Claudiane Oliveira; Flávio Morais; Heitor Costa

Systematic Literature Review (SLR) is a means to synthesize relevant and high quality studies related to a specific topic or research questions. In general, a SLR has three phases, and the first one is the Primary Selection in which the selection of studies is usually performed manually reading title, abstract and keywords of each study. The number of published scientific studies has grown, increasing effort in carrying out this review. In this paper, we proposed two strategies to rank studies in decreasing order of importance, for a SLR, regarding the terms in the search string. These strategies are based on the Information Retrieval technique Vector Model. We implemented those strategies and conducted a case study to evaluate their applicability. As results, the second strategy presents 50% of precision on a recall of 80%. Among the contributions of this study, two strategies to rank relevant documents in a SLR, regarding the search string, were proposed and analyzed.


international conference on information technology: new generations | 2015

Identifying Similarity of Software in Apache Ecosystem -- An Exploratory Study

Luisa Hernández; Heitor Costa

Majority of software depends on external libraries to achieve their goals. We conducted studies to identify software similarity regarding libraries, using 91 Java open-source projects managed by Maven from Apache ecosystem and considering the Apache Software Foundation (ASF) categories for every project. We extracted software libraries to compute the similarity thought two similarity metrics: Jaccard and Cosine. Results showed one software without external library and low similarity degrees among software libraries caused by a highly disproportion quantity of dependencies per project, for instance, three projects had 100% similarity caused by depending just on JUnit library, which is also the most used dependency on analyzed projects. Although our study revealed a low similarity among selected projects, it provides useful information about trending libraries for developers based on the relation among most used libraries in Apache projects, regarding ASF categories and Apache community preferences. It also discloses reasons for similarity degrees and for most used dependencies on Apache ecosystem.


working conference on reverse engineering | 2009

Recovering Class Models Stereotyped with Crosscutting Concerns

Heitor Costa; Paulo Afonso Parreira Júnior; Valter Vieira de Camargo; Rosangela Penteado

An aspect-oriented software reengineering process allows transforming object-oriented legacy software into aspect-oriented software. One of the main steps of this evolutionary process is reverse engineering which recovers the current software model to obtain a more abstract view of software structure, architecture, and functionality. However, recovering aspect-oriented models from Java object-oriented code is not a straightforward task because it involves a lot of design decisions and the new abstractions provided by aspect-oriented programming. So, an approach and technological support are presented to recover object-oriented models stereotyped with crosscutting concern indications which are identified automatically from object-oriented code.

Collaboration


Dive into the Heitor Costa's collaboration.

Top Co-Authors

Avatar
Top Co-Authors

Avatar

Ramon Abilio

Universidade Federal de Lavras

View shared research outputs
Top Co-Authors

Avatar

Eduardo Figueiredo

Universidade Federal de Minas Gerais

View shared research outputs
Top Co-Authors

Avatar

Gustavo Vale

Universidade Federal de Minas Gerais

View shared research outputs
Top Co-Authors

Avatar

Rodrigo Pereira dos Santos

Federal University of Rio de Janeiro

View shared research outputs
Top Co-Authors

Avatar

Cláudia Maria Lima Werner

Federal University of Rio de Janeiro

View shared research outputs
Top Co-Authors

Avatar

Valter Vieira de Camargo

Federal University of São Carlos

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Claudiane Oliveira

Universidade Federal de Lavras

View shared research outputs
Researchain Logo
Decentralizing Knowledge