6 research outputs found
AVALIACAO DO USO DE HEURISTICAS DE CONTEXTO NA MINERAÇÃO DE DIVIDA TECNICA COM A EXCOMMENT
Context: The eXcomment is a tool built to find technical debt through the mining of source code comments. Problem:After preliminary evaluation of the first version of the tool,the authors added additional heuristics to improve its results,which resulted in a second version of it. So far, no evaluation has been done on the effect of such heuristics onthe technical debt identification. Method: Therefore, this paper evaluates the effect of such heuristics on the miningby the tool with two open-source use cases. Results: Results show fewer false positives, which led to increased accuracy.Contexto: A eXcomment é uma ferramenta que minera comentários em código-fonte para identificar itens de DÃvida técnica (DT) de maneira automatizada. Problema: Após estudos preliminares com a primeira versão, os autores introduziram heurÃsticas no processo de identificação de DT, o que produziu a segunda versão. Até este ponto, não existia um estudo empÃrico para avaliar como o uso de heurÃsticas pode afetar na identificação de DT pela ferramenta. Método: Este artigo investiga o efeito destas heurÃsticas no resultado da mineração de DT através de dois estudos de caso com softwares de código aberto. Resultados: Os resultados mostraram redução na quantidade de falsos positivos, o que levou melhoria à da bem como foi possÃvel perceber ligeira melhora na acurácia da ferramenta
CLIMATIZACAO EFICAZ EM DATA CENTERS: DESENVOLVIMENTO E IMPLEMENTACAO DE UM SISTEMA DE CONTROLE E MONITORAMENTO
Data centers play a crucial role in storing, managing, andprocessing data, requiring optimal environmental conditionsto ensure effective operation of the equipment. This workproposes the development of an embedded system focusedon the climate control and monitoring of small-scale datacenters. To achieve this goal, infrared, temperature, andhumidity sensors were employed, along with a dashboard tofacilitate data analysis and decision-making. Two embeddedsystems were developed, which meet the proposed requirementsand offer features such as data storage, graphical visualization,alert issuance, and remote control of cooling devices.The resulting prototype enabled continuous monitoringof temperature and humidity, contributing to ensuring idealoperating conditions in the data center. With remote operationcapability and potential for improvements in efficiencyand reliability of data center environments, the system presentsitself as a solution to enhance the climate managementof these spaces.Data centers desempenham um papel crucial no armazenamento, gerenciamento e processamento de dados, demandando condições ambientais ideais para garantir o funcionamento eficaz dos equipamentos. Este trabalho propõe o desenvolvimento de um sistema embarcado focado no controle e monitoramento climático de data centers de pequeno porte. Para atingir esse objetivo, foram empregados sensores infravermelho, de temperatura e umidade, em conjunto com um dashboard para facilitar a análise de dados e a tomada de decisões. Dois sistemas embarcados foram desenvolvidos, os quais atendem aos requisitos propostos e oferecem recursos como armazenamento de dados, visualização gráfica, emissão de alertas e controle remoto de dispositivos de refrigeração. O protótipo resultante permitiu o monitoramento contÃnuo da temperatura e umidade, contribuindo para a garantia de condições ideais de operação no data center. Com capacidade de operação remota e potencial para melhorias na eficiência e confiabilidade dos ambientes de data centers, o sistema apresenta-se como uma solução para aprimorar a gestão climática desses espaços
Investigating feature-oriented software comprehension
Atualmente, uma gama de técnicas e ferramentas para a implementação de variabilidade estão disponÃveis e vem gradualmente sendo utilizadas para o desenvolvimento de sistemas de software grandes e complexos. Algumas delas alcançaram um alto nÃvel de popularidade na indústria, como a compilação condicional, outras ainda residem o ambiente acadêmico, como Programação Orientada à CaracterÃsticas (FOP). Pesquisadores têm investigado as limitações de cada uma delas em busca de facilitar a adoção e de seu uso.
No entanto, ainda não existe apoio à implementação de variabilidade em alguns domÃnios –e.g., sistemas baseados em JavaScript– soma-se a isto a falta de evidências sobre o impacto das differenças e similaridades de tais técnicas na compreensão dos pro- gramas escritos e consequentemente no esforço que estas demandam dos desenvolvedores para a conclusão de suas tarefas de manutenção.
Esta tese contribui em ambas direções. Primeiro, apresentamos uma estratégia para engenharia de linhas de produtos baseada em composição hÃbrida (RiPLE-HC). HÃbrida pois mescla abordagens composicionais e anotativas para implementar variabilidade. Se- gundo, construÃmos um corpo de evidências sobre compreensão de programas com vari- abilidade, incluindo fatores que facilitam e dificultam a compreensão de sistemas equanto utilizando-se de técnicas representativas de ambos os grupos, o popular e o emergente.
Na primeira direção, conduziu-se estudos preliminares da viabilidade e scalabilidade da abordagem RiPLE-HC, tanto no ambiente industrial quanto acadêmico. Na segunda direção, conduziu-se uma famÃlia de experimentos – chamada de Compreensão da Com- preensão da Implementação de Variabilidade (VICC). Considerou-se tanto estudos quan- titativos quanto qualitativos na famÃlia VICC, à saber três quasi-experimentos (VICC1- 3) e um grupo focal (VICC4). Os estudos VICC consideram duas linguages de progra- mação (Java e JavaScript) e uma representação de variabilidade representativa dentre as baseadas em anotação e composição para o desenvolvimento de software orientado à caracteristicas (FOSD). VICC1 utilizou-se de tarefas de localização de interesses, en- quanto VICC2 e VICC3 utilizaram-se de tarefas de correção de problemas, e VICC4 buscou identificar fatores de influência na comprehensão de programas.
Embora os participantes do grupo focal tenham destacado os benefÃcios da FOP para manutenção, os quasi-experimentos não produziram evidencias estatÃsticas significativas destas vantagens para quaisquer das representações de variabilidade equanto os partici- pantes executavam tarefas de manutenção. Adicionalmente, encontrou-se que que engen- heiros de software podem perceber o efeito de parâmetros de confusão de forma diferente dependendo da representação de variabilidade utilizada.A number of techniques and tools to handle variability are available and they have been increasingly applied in the development of large and complex software systems. Some of them have reached high levels of popularity in industry, such as conditional compilation, whereas some are mostly known in academia, such as Feature-Oriented Programming (FOP). Researchers have addressed the existing drawbacks of both in order to improve adoption and ease their use.
However, there is still a lack of support to variability implementation in some domains – e.g., JavaScript -based systems – and also a lack of understanding of the impact of the 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 thesis contributes in both facets. First, we present the RiSE Product Lines En- gineering approach based on Hybrid Composition (RiPLE-HC) to implement variability in JavaScript-based systems. By hybrid composition, we mean the blending of com- positional and annotative approaches to implement variability. Second, we built an evi- dence corpus on program comprehension in the presence of variability, including factors easing and hindering program comprehension in software systems using representative approaches from both groups of techniques, the popular and the emerging ones.
In the first facet, we carried out a preliminary evaluation of the viability and scalabil- ity of the RiPLE-HC approach both, in industry and academic settings. In the second facet, we carried out a family of experiments – named Variability Implementation Com- prehension Comprehension (VICC). We considered quantitative and qualitative stud- ies in the VICC family, namely three quasi-experiments (VICC1-3) and a focus group (VICC4). VICC studies considered two programming languages (Java and JavaScript) and a representative variability representation representing either the annotative or the compositional approaches for Feature-Oriented Software Development (FOSD). VICC1 addressed the concept location tasks, while VICC2 and VICC3 addressed bug-fixing tasks, and VICC4 addressed the influence factors on program comprehension.
Although the participants of the focus group highlighted the benefits of the FOP for maintenance, the quasi-experiments yielded no significant statistical difference regardless of the variability representation while addressing maintenance tasks. Additionally, we found that software engineers may perceive confounding parameters differently depending on the used variability representationFundação de Amparo à Pesquisa da Bahia (Fapesb
Método de extração de linha de produtos de software baseado em testes
Exportado OPUSMade available in DSpace on 2019-08-13T15:35:27Z (GMT). No. of bitstreams: 1
alcemir.pdf: 3400992 bytes, checksum: 7e93a45fe448df5ad0cae57b7311d8f4 (MD5)
Previous issue date: 1Muitos sistemas de software foram desenvolvidas como produtos individuais antes da abordagem de Linha de Produtos de Software (LPS) emergir. Embora algumas abordagens promissoras foram propostas, extrair uma LPS de produtos de software existentes ainda e caro e demorado. Este trabalho apresenta um metodo para extrair uma LPS a partir de produtos unicos que se baseia em testes de software ja desenvolvidos. Nos avaliamos testes como o principal meio para localizar codigo de caracteristicas e diferentes tipos de artefatos existentes para apoiar a tecnica de localizacao baseada em testes. Realizou-se tres estudos de caso iniciando a partir da derivacao do modelo de caracteristicas da LPS ate a localizacao do codigo das caracteristicas. Os nossos resultados indicaram (i) interessantes indices de precisao de localizacao de sementes das caracteristicas, semente e uma pequena porcao do codigo de caracteristica que permite a identificacao da porcao restante, e (ii) boas taxas de cobertura para localizar o codigo completo da caracteristica.Many software systems have been developed as single products before Software Product Lines (SPLs) have emerged. Although some promising approaches have been proposed, extracting an SPL from existing software products is still expensive and time consuming. This work presents a method to extract an SPL from single products that relies on software testing already developed. We evaluate testing as the main mean to locate feature code and different sorts of existing artifacts to support the test-based location. We conduct three case studies starting from the derivation of the SPL feature model to the feature code location. Our results indicate (i) interesting rates of precision for feature seed location, where seed means a small portion of the feature code that allows the identification of the remaining portion, and (ii) good rates of recall for locating the whole feature code
RiPLE-HC: JavaScript Systems Meets SPL Composition
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.Chin
Evaluating Lehman’s Laws of Software Evolution within Software Product Lines Industrial Projects
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).Journal of Systems and Softwar