Network


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

Hotspot


Dive into the research topics where Alcemir Rodrigues Santos is active.

Publication


Featured researches published by Alcemir Rodrigues Santos.


variability modelling of software intensive systems | 2014

Low-level variability support for web-based software product lines

Ivan do Carmo Machado; Alcemir Rodrigues Santos; Yguaratã Cerqueira Cavalcanti; Eduardo Gomes Trzan; Marcio Magalhães de Souza; Eduardo Santana de Almeida

The Web systems domain has faced an increasing number of devices, browsers, and platforms to cope with, driving software systems to be more flexible to accomodate them. Software product line (SPL) engineering can be used as a strategy to implement systems capable of handling such a diversity. To this end, automated tool support is almost indispensable. However, current tool support gives more emphasis to modeling variability in the problem domain, over the support of variability at the solution domain. There is a need for mapping the variability between both abstraction levels, so as to determine what implementation impact a certain variability has. In this paper, we propose the FeatureJS, a FeatureIDE extension aiming at Javascript and HTML support for SPL engineering. The tool combines feature-oriented programming and preprocessors, as a strategy to map variability at source code with the variability modeled at a higher level of abstraction. We carried out a preliminary evaluation with an industrial project, aiming to characterize the capability of the tool to handle SPL engineering in the Web systems domain.


software product lines | 2016

RiPLE-HC: javascript systems meets spl composition

Alcemir Rodrigues Santos; Ivan do Carmo Machado; Eduardo Santana de Almeida

Context. Software Product Lines (SPL) engineering is increasingly being applied to handle variability in industrial software systems. Problem. The research community has pointed out a series of benefits which modularity brings to software composition, a key aspect in SPL engineering. However, in practice, the reuse in Javascript-based systems relies on the use of package managers (e.g., npm, jam, bower, requireJS), but these approaches do not allow the management of project features. Method. This paper presents the RiPLE-HC, a strategy aimed at blending compositional and annotative approaches to implement variability in Javascript-based systems. Results. We applied the approach in an industrial environment and conducted an academic case study with six open-source systems to evaluate its robustness and scalability. Additionally, we carried a controlled experiment to analyze the impact of the RiPLE-HC code organization on the feature location maintenance tasks. Conclusion. The empirical evaluations yielded evidence of reduced effort in feature location, and positive benefits when introducing systematic reuse aspects in Javascript-based systems.


Proceedings of the Fifth International Workshop on Product LinE Approaches in Software Engineering | 2015

Towards the selection of modeling techniques for dynamic software product lines

Magno Luã de Jesus Souza; Alcemir Rodrigues Santos; Eduardo Santana de Almeida

Emerging domains such as smart homes and more recently smart cities represent a big challenge to software engineering. In such context, the need of runtime self-adaptations to cope with both user needs and environmental changes brings Dynamic Software Product Lines (DSPL) as a suitable solution. However, DSPL implementation itself is challenging, which demands a proper modeling. In this sense, the literature still lacks of means of choosing the modeling technique that best fits a given domain. This paper tackles such problem by defining a criteria for rank such techniques, which is used for ranking a set DSPL modeling techniques found in the literature.


ACM Sigsoft Software Engineering Notes | 2015

Do #ifdef-based Variation Points Realize Feature Model Constraints?

Alcemir Rodrigues Santos; Eduardo Santana de Almeida

Two mechanisms widely used in the Software Product Lines (SPL) Engineering are the feature model and the conditional compilation. The former models the variability in the problem space and the latter realizes it in the solution space. Even though the research community know that the feature model imposes a number of constraints to the product line implementation, there is a lack of support to co-evolve problem space and solution space. In this paper, we present an exploratory study whether problem space constraints are considered at source code level of #ifdef-based SPL implementations. In order to accomplish our goal, we developed a preliminary approach to check problem and solution spaces in a prototype tool (fclcheck). The results show a lack of realization of feature model constraints while implementing variation points with that mechanism. We also evaluated the scalability of the approach and the recoverability of the tool.


Proceedings of the 11th Brazilian Symposium on Software Components, Architectures, and Reuse | 2017

Aspects influencing feature-oriented software comprehension: observations from a focus group

Alcemir Rodrigues Santos; Ivan do Carmo Machado; Eduardo Santana de Almeida

Feature-oriented software development has been considered as a reasonable way to address the ever increasing need of handling variability in software systems. However, we still lack to understand the influence of the use of different ways to implement variability on program comprehension and consequently on the effort they demand from developers, so they could successfully accomplish the assigned maintenance tasks. This paper addresses it presenting a qualitative study carried out as an focus group aimed at identify factors influencing program comprehension. The findings of our study were grouped into four groups, including the followed strategies to understand feature-oriented software, the factors hindering and easing such understanding, as well as general observations on the effort demanded to maintain software either using C onditional C ompilation or F eature H ouse .


2016 X Brazilian Symposium on Software Components, Architectures and Reuse (SBCARS) | 2016

Evaluating Variability Modeling Techniques for Dynamic Software Product Lines: A Controlled Experiment

Magno Luã de Jesus Souza; Alcemir Rodrigues Santos; Ivan do Carmo Machado; Eduardo Santana de Almeida; Gecynalda Soares da Silva Gomes

Dynamic Software Product Lines (DSPL) is a promising approach to enable variability management at runtime. As a particularly novel approach, variability management at runtime demands proper guidance for software engineers. Although there is a number of variability modeling techniques, understand whether they fulfill important requirements to deal with the DSPL challenges is necessary. In this work, we analyzed two variability modeling techniques with regard to their effectiveness and efficiency based on a controlled experiment conducted with 10 students. Data from performed tasks and background and feedback questionnaires were gathered and analyzed. The results showed Context-aware Feature Model technique more effective than Tropos Goal Model with Context technique considering precision. Nevertheless, both techniques were effective considering recall.


Journal of Systems and Software | 2018

On the implementation of dynamic software product lines: An exploratory study

Michelle Larissa Luciano Carvalho; Matheus Lessa Gonçalves da Silva; Gecynalda Soares da Silva Gomes; Alcemir Rodrigues Santos; Ivan do Carmo Machado; Magno Luã de Jesus Souza; Eduardo Santana de Almeida

Abstract Dynamic Software Product Line (DSPL) engineering is a paradigm aimed at handling adaptations at runtime. An inherent challenge in DSPL engineering is to reduce the design complexity of adaptable software, particularly in terms of evolution. Existing research only recently started to investigate evolution in this field, but does not assess the impact of different implementations under software quality in evolutionary scenarios. This work presents a characterization of thirteen dynamic variability mechanisms. Based on such characterization, we implemented a DSPL using Object-oriented Programming (OOP) mechanisms. From this implementation, we evidenced that DSPL requires changes and extensions to design, in terms of functionality and adaptation capabilities. Since Aspect-oriented Programming (AOP) was well ranked according to characterization and some studies have demonstrated the likely synergies between AOP and DSPL, we decided to compare it with OOP. We empirically evaluated how OOP and AOP could affect source code quality from the viewpoint of an evolving DSPL. As a result, AOP yields better results in terms of size, SoC, cohesion, and coupling measures. Conversely, AOP provides lower change propagation impact. Although the packages in AOP were more susceptible to changes than in OOP, we could indicate that AOP may be a feasible strategy for DSPL implementation.


Empirical Software Engineering | 2018

Comparing the influence of using feature-oriented programming and conditional compilation on comprehending feature-oriented software

Alcemir Rodrigues Santos; Ivan do Carmo Machado; Eduardo Santana de Almeida; Janet Siegmund; Sven Apel

Several variability representations have been proposed over the years. Software maintenance in the presence of variability is known to be hard. One of the reasons is that maintenance tasks require a large amount of cognitive effort for program comprehension. In fact, the different ways of representing variability in source code might influence the comprehension process in different ways. Despite the differences, there is little evidence about how these variability representations – such as conditional-compilation directives or feature-oriented programming – influence program comprehension. Existing research has focused primarily on either understanding how code using modern paradigms evolves compared to the traditional way of realizing variability, namely conditional compilation, or on the aspects influencing the comprehension of conditional compilation only. We used two different programs implemented in Java and each of these variability representations. As Java does not support conditional compilation natively, we relied on the mimicking (i.e., preprocessing annotations in comments) that has been used in the literature. Our results show no significant statistical differences regarding the evaluated measures (correctness, understanding, or response time) in the tasks. Our heterogeneous sample allowed us to produce evidence about the influence of using CC and FOP variability representations on the aspects involved in the comprehension of feature-oriented software, while addressing bug-finding tasks.


Journal of Systems and Software | 2017

Evaluating Lehman’s Laws of software evolution within software product lines industrial projects

Raphael Pereira de Oliveira; Alcemir Rodrigues Santos; Eduardo Santana de Almeida; Gecynalda Soares da Silva Gomes

The evolution of a single system is a task where we deal with the modification of a single product. Lehman’s Laws of software evolution were broadly evaluated within this type of system and the results shown that these single systems evolve according to his stated laws over time. However, considering Software Product Lines (SPL), we need to deal with the modification of several products which include common, variable, and product specific assets. Because of the several assets within SPL, each stated law may have a different behavior for each asset kind. Nonetheless, we do not know if all of the stated laws are still valid for SPL since they were partially evaluated in this context. Thus, this paper details an empirical investigation where Lehman’s Laws (LL) of Software Evolution were used in two SPL industrial projects to understand how the SPL assets evolve over time. These projects are related to an application in the medical domain and another in the financial domain, developed by medium-size companies in Brazil. They contain a total of 71 modules and a total of 71.442 bug requests in their tracking system, gathered along the total of more than 10 years. We employed two techniques - the KPSS Test and linear regression analysis, to assess the relationship between LL and SPL assets. Results showed that one law was completely supported (conservation of organizational stability) for all assets within both empirical studies. Two laws were partially supported for both studies depending on the asset type (continuous growth and conservation of familiarity). Finally, the remaining laws had differences among their results for all assets (continuous change, increasing complexity, and declining quality).


software product lines | 2016

RiPLE-HC: visual support for features scattering and interactions

Alcemir Rodrigues Santos; Ivan do Carmo Machado; Eduardo Santana de Almeida

With the ever increasing popularity of JavaScript in different domains to build bigger and more complex software systems, variability management may be deemed as an affordable strategy. In this sense, Software Product Lines (SPL) engineering is one of the most successful paradigms to accomplish the necessary modularity and systematic reuse of code artifacts for that purpose. In previous work, we present tool support to hybrid composition of JavaScript-based product lines, called RiPLE-HC, which we now extend to incorporate a means to deal with feature interactions and feature annotation scattering in a more smooth way. The proposed tool support may provide practitioners with an easy-to-use approach to implement crosscutting features by increasing the awareness of the developers about the features implementation.

Collaboration


Dive into the Alcemir Rodrigues Santos's collaboration.

Top Co-Authors

Avatar

Eduardo Santana de Almeida

Federal University of Pernambuco

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Iuri Santos Souza

Federal University of Pernambuco

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Researchain Logo
Decentralizing Knowledge