EDBT 2026 Demo / reviewers in the wild / expert
Cláudio Sant'Anna
dblp:64/4218 · also Cláudio Nogueira Sant'Anna
· DBLP profile ↗
19ranked-venue papers
2as first author
1since 2021 · last 2021
—ORCID · none
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 18 · 2 first-authorArtificial intelligence and machine learning · 2 · 1 since 2021Applied, interdisciplinary, general and emerging computing · 2Databases, data management, data science and information retrieval · 1
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
1 paper |
Software maintenance and evolution · 88% Empirical software engineering · 12% |
Topics — the 4 heaviest of 4, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Software maintenance and evolution
software modularity |
0.1 | 1 | 2008 | Evolving software product lines with aspects: an empirical study on design stability · ICSE 2008 |
Software maintenance and evolution › software evolution
software product line evolution |
0.1 | 1 | 2008 | Evolving software product lines with aspects: an empirical study on design stability · ICSE 2008 |
Software maintenance and evolution › change impact analysis
change propagation |
0.0 | 1 | 2008 | Evolving software product lines with aspects: an empirical study on design stability · ICSE 2008 |
Empirical software engineering › software engineering research methodology
empirical study |
0.0 | 1 | 2008 | Evolving software product lines with aspects: an empirical study on design stability · ICSE 2008 |
Methods — techniques the papers use, named apart from their topics
quantitative case study · 0.1aspect-oriented programming · 0.1
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2021 | Fuzzy Software Analyzer (FSA): A New Approach for Interpreting Source Code Versioning RepositoriesabstractSource code quality plays a key role in software quality mainly due to its impact on software maintainability. Software engineers have been using source code metrics to support them to assess source code quality. Source code metrics quantify different source code characteristics. However, source code metric analysis still involves subjectivity. For instance, it is not trivial to decide whether a metric value is high or low. To reduce the eventual subjectivity of source code metrics analysis, several researchers are using Machine Learning algorithms. Therefore, in this paper, we designed a Fuzzy-based approach to extract characteristics and patterns present in source code versioning repositories in order to: i) assist the specialist in the interpretation of releases, especially when working with large volumes of source code; ii) from the release interpretation, specialists can improve the quality of the source code; and iii) monitor the evolution of the software as new releases are submitted to the repositories. We evaluated the proposed approach with the Linux Test Project repository, emphasizing the interpretability of large source code versioning repositories. João C. B. Oliveira, Ricardo Araújo Rios, Eduardo Santana de Almeida, Cláudio Sant'Anna, Tatiane N. Rios |
FUZZ-IEEE | 4 |
| 2020 | On the Influence of UML Class Diagrams Refactoring on Code Debt: A Family of Replicated Empirical StudiesabstractContext: System modeling usually precedes coding activities during software development. Addressing model smells in the upfront can avoid their propagation to the source code. Technical debt (TD) affects several software development phases, including design, but little is still known about it at the modeling level. Goal: Investigate whether applying refactoring procedures in UML class diagrams improves the quality of the automatically generated code in terms of TD (code debt) reduction. Method: We perform three replications of an empirical study following the same protocol used in the original study, but with variations on the: (1) round- trip engineering tool, (2) code issue identification tool, and (3) analyzed class diagram. Each study considered two sets of refactoring tasks. The first applied successive model refactoring sessions in a class diagram and analyzed their resulting automatically generated code. The second applied successive code refactoring sessions and analyzed their resulting automatically generated model. Results: There is a weak relationship between the analyzed model smells and code issues. Round-trip engineering tools influence the presence of code issues. Lastly, code issues identification tools mostly consider code formatting problems, in detriment of design issues smells. Conclusion: Results confirm the findings of the original study and motivate further investigation on the correspondence between model smells and code issues to prevent code debt at the model level. Sávio Freire, Amanda Passos, Manoel G. Mendonça, Cláudio Sant'Anna, Rodrigo O. Spínola |
SEAA | 4 |
| 2019 | How does feature dependency affect configurable system comprehensibility?abstractBackground: Conditional compilation is often used to implement variability in configurable systems. This technique relies on #ifdefs to delimit feature code. Previous studies have shown that #ifdefs may hinder code comprehensibility. However, they did not explicitly took feature dependencies into account. Feature dependency occurs when different features refer to the same program element, such as a variable. Comprehensibility may be even more affected in the presence of feature dependency, as the developer must reason about different scenarios affecting the same variable. Aim: Our goal is to understand how feature dependency affects the comprehensibility of configurable system source code. Method: We carried out an experiment in which 30 developers debugged programs with different types of feature dependency. We recorded the time each of them had spent to find a bug. Also, we used an eye-tracking device to record developers' gaze movements while they debugged programs. Results: Debugging programs with global and interprocedural dependency required more time and higher visual effort. Conclusion: Our study showed that #ifdefs affect comprehensibility in different degrees depending on the type of feature dependency. Therefore, when possible, developers should take more care when dealing with code with global and interprocedural dependencies. Djan Santos, Cláudio Sant'Anna |
ICPC | 2 |
| 2018 | How do design decisions affect the distribution of software metrics?abstractBackground. Source code analysis techniques usually rely on metric-based assessment. However, most of these techniques have low accuracy. One possible reason is because metric thresholds are extracted from classes driven by distinct design decisions. Previous studies have already shown that classes implemented according to some coarse-grained design decisions, such as programming languages, have different distribution of metric values. Therefore, these design decisions should be taken into account when using benchmarks for metric-based source code analysis. Goal. Our goal is to investigate whether other fine-grained design decisions also influence over distribution of software metrics. Method. We conduct an empirical study to evaluate the distributions of four metrics applied over fifteen real-world systems based on three different domains. Initially, we evaluated the influence of the class design role on the distributions of measures. For this purpose, we have defined an automatic approach to identify the design role played by each class. Then, we looked for other fine-grained design decisions that could have influenced the measures. Results. Our findings show that distribution of metrics are sensitive to the following design decisions: (i) design role of the class (ii) used libraries, (iii) coding style, (iv) exception handling, and (v) logging and debugging code mechanisms. Conclusion. The distribution of software metrics are sensitive to fine-grained design decisions and we should consider taking them into account when building benchmarks for metric-based source code analysis. Marcos Dósea, Cláudio Sant'Anna, Bruno da Silva 0002 |
ICPC | 2 |
| 2016 | The effect of automatic concern mapping strategies on conceptual cohesion measurement
Bruno da Silva 0002, Cláudio Sant'Anna, Neylor Rocha, Christina von Flach G. Chavez |
Inf. Softw. Technol. | 2 |
| 2014 | On the Effectiveness of Concern Metrics to Detect Code Smells: An Empirical Study
Juliana Padilha, Juliana Alves Pereira, Eduardo Figueiredo 0001, Jussara M. Almeida, Alessandro F. Garcia 0001, Cláudio Sant'Anna |
CAiSE | 6 |
| 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. | 2 |
| 2013 | Quantifying the effects of Aspectual Decompositions on Design by Contract Modularization: a Maintenance StudyabstractAlthough it is assumed that the implementation of design by contract is better modularized by means of aspect-oriented (AO) programming, there is no empirical evidence on the effectiveness of AO for modularizing non-trivial design by contract code in realistic development scenarios. This paper reports a quantitative and qualitative case study that evolves a real-life application to assess various facets of the adequacy of aspects for modularizing the design by contract concern. Our evaluation focused upon a number of system changes that are typically performed during software maintenance tasks. The study was driven by an analysis of fundamental modularity attributes, such as separation of concerns, coupling, conciseness, and change propagation. We have found that AO techniques improved separation of concerns and the design stability between the design by contract code and base application code throughout the development scenarios. However, contradicting the general intuition, the AO versions of the system did not present significant gains regarding four classical size metrics we employed. Henrique Rebêlo, Ricardo Massa Ferreira Lima, Uirá Kulesza, Márcio Ribeiro 0001, Yuanfang Cai, Roberta Coelho, Cláudio Sant'Anna, Alexandre Mota 0001 |
Int. J. Softw. Eng. Knowl. Eng. | 7 |
| 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. | 8 |
| 2013 | Mastering crosscutting architectural decisions with aspectsabstractSUMMARY When reflecting upon driving system requirements such as security and availability, software architects often face decisions that have a broadly scoped impact on the software architecture. These decisions are the core of the architecting process because they typically have implications intertwined in a multitude of architectural elements and across multiple views. Without a modular representation and management of those crucial choices, architects cannot properly communicate, assess and reason about their crosscutting effects. The result is a number of architectural breakdowns, such as misinformed architectural evaluation, time‐consuming trade‐off analysis and unmanageable traceability. This paper presents an architectural documentation approach in which aspects are exploited as a natural way to capture widely‐scoped design decisions in a modular fashion. The approach consists of a simple high‐level notation to describe crosscutting decisions, and a supplementary language that allows architects to formally define how such architectural decisions affect the final architectural decomposition according to different views. On the basis of two case studies, we have systematically assessed to what extent our approach: (i) supports the description of heterogeneous forms of crosscutting architecture decisions, (ii) improves the support for architecture modularity analysis, and (iii) enhances upstream and downstream traceability of crosscutting architectural decisions. Copyright © 2012 John Wiley & Sons, Ltd. Cláudio Sant'Anna, Alessandro F. Garcia 0001, Thaís Vasconcelos Batista, Awais Rashid |
Softw. Pract. Exp. | 1 |
| 2012 | Integrating Software Product Lines: A Study of Reuse versus StabilityabstractTo achieve large-scale reuse and accelerate time-to-market, integration of multiple software product lines (SPLs) is becoming a trend. The integration of independently-developed SPLs enables the derivation of new products on demand in a particular domain. The basic goal is to foster the reuse of previously-implemented features across a family of independently-developed SPLs. The programming technique employed in this context should promote the reuse of feature code across the SPLs with minimum change effort. Otherwise, the stability of the target SPLs would be compromised. This paper presents an exploratory study on the stepwise integration of three product lines from the board game domain. We investigate how the programming mechanisms supported by aspect-oriented and feature-oriented programming impacted the reuse and stability of those product lines. In particular, we also analyse and compare how the use of these mechanisms made possible to reach a better tradeoff of reuse and stability of the SPL designs. Alessandro Cavalcante Gurgel, Francisco Dantas, Alessandro F. Garcia 0001, Cláudio Sant'Anna |
COMPSAC | 4 |
| 2012 | Concern-based cohesion: Unveiling a hidden dimension of cohesion measurementabstractCohesion has been avidly recognized as a key property of software modularity. Ideally, a software module is considered to be cohesive if it represents an abstraction of a single concern of the software. Modules with several concerns may be harder to understand because developers must mentally separate the source code related to each concern. Also, modules implementing several concerns are more likely to undergo changes as much as distinct development tasks may target its different concerns. The most well-known cohesion metrics are defined in terms of the syntactical structure of a module, and as a consequence fail to capture the amount of concerns realized by the module. In this context, we investigated the potential of a new metric, called Lack of Concern-based Cohesion. This metric explicitly counts the number of concerns realized by each module. We compared this metric with other five structural cohesion metrics by applying them over six open source software systems. We studied how those metrics are associated with module changes by mining over 16,000 repository revisions. Our results pointed out that the concern-based metric captured a cohesion dimension that is not reflected by structural metrics, and, as a consequence, adds to the association of cohesion and change-proneness. Bruno da Silva 0002, Cláudio Sant'Anna, Christina von Flach G. Chavez, Alessandro F. Garcia 0001 |
ICPC | 2 |
| 2012 | Applying and evaluating concern-sensitive design heuristics
Eduardo Figueiredo 0001, Cláudio Sant'Anna, Alessandro F. Garcia 0001, Carlos José Pereira de Lucena |
J. Syst. Softw. | 2 |
| 2011 | Assessing the Impact of Aspects on Design By Contract Effort: A Quantitative Study
Henrique Rebêlo, Ricardo Massa Ferreira Lima, Uirá Kulesza, Cláudio Sant'Anna, Roberta Coelho, Alexandre Mota 0001, Márcio Ribeiro 0001, César A. L. de Oliveira |
SEKE | 4 |
| 2009 | Crosscutting patterns and design stability: An exploratory analysisabstractIt is often claimed that inaccurate modularisation of crosscutting concerns hinders program comprehension and, as a consequence, leads to harmful software instabilities. However, recent studies have pointed out that crosscutting concerns are not always harmful to design stability. Hence, software maintainers would benefit from well documented patterns of crosscutting concerns and a better understanding about their actual impact on design stability. This paper presents a catalogue of crosscutting concern patterns recurrently observed in software systems. These patterns are described and classified based on an intuitive vocabulary that facilitates their recognition by software engineers. We analysed instances of the crosscutting patterns in object-oriented and aspect-oriented versions of three evolving programs. The outcomes of our exploratory evaluation indicated that: (i) a certain category of crosscutting patterns seems to be good indicator of harmful instabilities, and (ii) aspect-oriented solutions were unable to modularise concerns matching some crosscutting patterns. Eduardo Figueiredo 0001, Bruno da Silva 0002, Cláudio Sant'Anna, Alessandro F. Garcia 0001, Jon Whittle 0001, Daltro J. Nunes |
ICPC | 3 |
| 2008 | Evolving software product lines with aspects: an empirical study on design stabilityabstractSoftware 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 |
ICSE | 3 |
| 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 |
ECOOP | 7 |
| 2007 | On the Modularity of Software Architectures: A Concern-Driven Measurement Framework
Cláudio Sant'Anna, Eduardo Figueiredo 0001, Alessandro F. Garcia 0001, Carlos José Pereira de Lucena |
ECSA | 1 |
| 2006 | Quantifying the Effects of Aspect-Oriented Programming: A Maintenance StudyabstractOne of the main promises of aspect-oriented programming (AOP) is to promote improved modularization of crosscutting concerns, thereby enhancing the software stability in the presence of changes. This paper presents a quantitative study that assesses the positive and negative effects of AOP on typical maintenance activities of a Web information system. The study consists of a systematic comparison between the object-oriented and the aspect-oriented versions of the same application in order to assess to what extent each solution provides maintainable software decompositions. Our analysis was driven by fundamental modularity attributes, such as coupling, cohesion, conciseness, and separation of concerns. We have found that the aspect-oriented design has exhibited superior stability and reusability through the changes, as it has resulted in fewer lines of code, improved separation of concerns, weaker coupling, and lower intra-component complexity Uirá Kulesza, Cláudio Sant'Anna, Alessandro F. Garcia 0001, Roberta Coelho, Arndt von Staa, Carlos José Pereira de Lucena |
ICSM | 2 |