Spelling suggestions: "subject:"engenharia dde 5oftware experimental"" "subject:"engenharia dde 1software experimental""
41 |
Cross-project defect prediction with meta-Learning / Predição de defeitos cruzada entre projetos apoiado por meta-aprendizadoPorto, Faimison Rodrigues 29 September 2017 (has links)
Defect prediction models assist tester practitioners on prioritizing the most defect-prone parts of the software. The approach called Cross-Project Defect Prediction (CPDP) refers to the use of known external projects to compose the training set. This approach is useful when the amount of historical defect data of a company to compose the training set is inappropriate or insufficient. Although the principle is attractive, the predictive performance is a limiting factor. In recent years, several methods were proposed aiming at improving the predictive performance of CPDP models. However, to the best of our knowledge, there is no evidence of which CPDP methods typically perform best. Moreover, there is no evidence on which CPDP methods perform better for a specific application domain. In fact, there is no machine learning algorithm suitable for all domains. The decision task of selecting an appropriate algorithm for a given application domain is investigated in the meta-learning literature. A meta-learning model is characterized by its capacity of learning from previous experiences and adapting its inductive bias dynamically according to the target domain. In this work, we investigate the feasibility of using meta-learning for the recommendation of CPDP methods. In this thesis, three main goals were pursued. First, we provide an experimental analysis to investigate the feasibility of using Feature Selection (FS) methods as an internal procedure to improve the performance of two specific CPDP methods. Second, we investigate which CPDP methods present typically best performances. We also investigate whether the typically best methods perform best for the same project datasets. The results reveal that the most suitable CPDP method for a project can vary according to the project characteristics, which leads to the third investigation of this work. We investigate the several particularities inherent to the CPDP context and propose a meta-learning solution able to learn from previous experiences and recommend a suitable CDPD method according to the characteristics of the project being predicted. We evaluate the learning capacity of the proposed solution and its performance in relation to the typically best CPDP methods. / Modelos de predição de defeitos auxiliam profissionais de teste na priorização de partes do software mais propensas a conter defeitos. A abordagem de predição de defeitos cruzada entre projetos (CPDP) refere-se à utilização de projetos externos já conhecidos para compor o conjunto de treinamento. Essa abordagem é útil quando a quantidade de dados históricos de defeitos é inapropriada ou insuficiente para compor o conjunto de treinamento. Embora o princípio seja atrativo, o desempenho de predição é um fator limitante nessa abordagem. Nos últimos anos, vários métodos foram propostos com o intuito de melhorar o desempenho de predição de modelos CPDP. Contudo, na literatura, existe uma carência de estudos comparativos que apontam quais métodos CPDP apresentam melhores desempenhos. Além disso, não há evidências sobre quais métodos CPDP apresentam melhor desempenho para um domínio de aplicação específico. De fato, não existe um algoritmo de aprendizado de máquina que seja apropriado para todos os domínios de aplicação. A tarefa de decisão sobre qual algoritmo é mais adequado a um determinado domínio de aplicação é investigado na literatura de meta-aprendizado. Um modelo de meta-aprendizado é caracterizado pela sua capacidade de aprender a partir de experiências anteriores e adaptar seu viés de indução dinamicamente de acordo com o domínio alvo. Neste trabalho, nós investigamos a viabilidade de usar meta-aprendizado para a recomendação de métodos CPDP. Nesta tese são almejados três principais objetivos. Primeiro, é conduzida uma análise experimental para investigar a viabilidade de usar métodos de seleção de atributos como procedimento interno de dois métodos CPDP, com o intuito de melhorar o desempenho de predição. Segundo, são investigados quais métodos CPDP apresentam um melhor desempenho em um contexto geral. Nesse contexto, também é investigado se os métodos com melhor desempenho geral apresentam melhor desempenho para os mesmos conjuntos de dados (ou projetos de software). Os resultados revelam que os métodos CPDP mais adequados para um projeto podem variar de acordo com as características do projeto sendo predito. Essa constatação conduz à terceira investigação realizada neste trabalho. Foram investigadas as várias particularidades inerentes ao contexto CPDP a fim de propor uma solução de meta-aprendizado capaz de aprender com experiências anteriores e recomendar métodos CPDP adequados, de acordo com as características do software. Foram avaliados a capacidade de meta-aprendizado da solução proposta e a sua performance em relação aos métodos base que apresentaram melhor desempenho geral.
|
42 |
Supporting newcomers to overcome the barriers to contribute to open source software projects / Apoiando novatos a superarem barreiras para contribuir a projetos de software livreSteinmacher, Igor Fábio 26 February 2015 (has links)
Community-based Open Source Software (OSS) projects are generally self-organized and dynamic, receiving contributions from volunteers spread across the globe. These communities survival, long-term success, and continuity demand a constant influx of newcomers. However, newcomers face many barriers when making their first contribution to an OSS project, leading in many cases to dropouts. Therefore, a major challenge for OSS projects is to provide ways to support newcomers during their first contribution. In this thesis, our goal was to identify and understand the barriers newcomers face and provide appropriate strategies to lower these barriers. Toward this end, we conducted multiple studies, using multiple research methods. To identify the barriers, we used data collected from: semi-structured interviews with 35 developers from 13 different projects; 24 answers to an open questionnaire conducted with OSS developers; feedback from 9 graduate and undergraduate students after they tried to join OSS projects; and 20 primary studies gathered via a systematic literature review. The data was analyzed using Grounded Theory procedures: namely, open and axial coding. Subsequently, the analysis resulted in a preliminary conceptual model composed of 58 barriers grouped into six categories: cultural differences, newcomers characteristics, reception issues, newcomers orientation, technical hurdles, and documentation problems. Based on the conceptual model, we developed FLOSScoach, a portal to support newcomers making their first OSS project contribution. To assess the portal, we conducted a study with undergraduate students, relying on qualitative data from diaries, self-efficacy questionnaires, and the Technology Acceptance Model. By applying the model to a practical application and assessing it, we could evaluate and improve the barriers model, changing it according to improvements identified during the conception of the tool, as well as suggestions received from the study participants. The FLOSScoach study results indicate that the portal played an important role guiding newcomers and lowering barriers related to the orientation and contribution process, whereas it was inefficient in lowering technical barriers. We also found that the portal is useful, easy to use, and increased newcomers confidence to contribute. The main contributions of this thesis are: (i) empirical identification and modeling of barriers faced by OSS project newcomers; and (ii) a portal providing information to support OSS project newcomers. / Projetos de software livre baseados em comunidade são, geralmente, auto-organizados e dinâmicos, e recebem contribuições de voluntários espalhados por todo o globo. A sobrevivência dessas comunidades, o sucesso a longo prazo, e sua continuidade exigem a entrada constante de novatos. No entanto, os novatos enfrentam muitas barreiras ao tentarem fazer a sua primeira contribuição para um projeto de software livre, o que leva, em muitos casos, a desistências. Portanto, um grande desafio para projetos de software livre é proporcionar maneiras de apoiar os novatos durante a realização de sua primeira contribuição. Nesta tese, nosso objetivo foi identificar e compreender as barreiras que os novatos enfrentam e fornecer estratégias adequadas para reduzir essas barreiras. Para isso, realizamos diversos estudos, utilizando vários métodos de pesquisa. Para identificar as barreiras, foram utilizados dados coletados a partir de: entrevistas semiestruturadas com 36 desenvolvedores de 14 projetos diferentes; 24 respostas a um questionário aberto realizado com desenvolvedores de software livre; feedback de 9 estudantes depois de tentarem contribuir para projetos de software livre; e 20 estudos obtidos por meio de uma revisão sistemática da literatura. Os dados foram analisados utilizando-se procedimentos da Grounded Theory: codificação aberta e axial. Posteriormente, a análise resultou em um modelo conceitual preliminar composto por 58 barreiras agrupadas em seis categorias: diferenças culturais, características dos novatos, problemas de recepção, orientação dos novatos, obstáculos técnicos, e problemas de documentação. Com base no modelo conceitual, desenvolvemos o FLOSScoach, um portal para apoiar os novatos no curso de sua primeira contribuição a projetos de software livre. Para avaliar o portal, realizamos um estudo com alunos de graduação, utilizando dados qualitativos de diários, questionários de autoeficácia (self-efficacy), e o modelo de aceitação tecnológica (TAM, do inglês Technology Acceptance Model). Ao aplicar o modelo em uma aplicação prática e experimentá-lo, pudemos avaliar e melhorar o modelo de barreiras, adequando-o de acordo com as melhorias identificadas durante a concepção da ferramenta, bem como sugestões recebidas dos participantes do estudo. Os resultados do estudo indicam que o portal FLOSScoach desempenhou um papel importante no direcionamento dos novatos e na redução das barreiras relacionadas com o processo de orientação e contribuição, enquanto não foi muito eficiente na redução de barreiras técnicas. Evidenciamos ainda que o portal é útil, fácil de usar, e aumentou a confiança dos novatos. As principais contribuições desta tese são: (i) identificação empírica e modelagem de barreiras enfrentadas pelos novatos em projetos de software livre; e (ii) um portal de informação para apoiar os novatos em projetos de software livre.
|
43 |
Avalia??o sistem?tica de abordagens de deriva??o de produtoTorres, M?rio S?rgio Scaramuzzi 17 February 2011 (has links)
Made available in DSpace on 2014-12-17T15:47:57Z (GMT). No. of bitstreams: 1
MarioSST_DISSERT.pdf: 2743049 bytes, checksum: da23e766aa49e7926f3ad6450145c626 (MD5)
Previous issue date: 2011-02-17 / Conselho Nacional de Desenvolvimento Cient?fico e Tecnol?gico / Product derivation tools are responsible for automating the development process of
software product lines. The configuration knowledge, which is responsible for
mapping the problem space to the solution space, plays a fundamental role on
product derivation approaches. Each product derivation approach adopts different
strategies and techniques to manage the existing variabilities in code assets. There is
a lack of empirical studies to analyze these different approaches. This dissertation
has the aim of comparing systematically automatic product derivation approaches
through of the development of two different empirical studies. The studies are
analyzed under two perspectives: (i) qualitative that analyzes the characteristics of
approaches using specific criteria; and (ii) quantitative that quantifies specific
properties of product derivation artifacts produced for the different approaches. A set
of criteria and metrics are also being proposed with the aim of providing support to
the qualitative and quantitative analysis. Two software product lines from the web
and mobile application domains are targets of our study / Abordagens de deriva??o de produto s?o respons?veis por automatizar o processo
de engenharia de aplica??o de linhas de produto de software. O conhecimento de
configura??o, que ? respons?vel por relacionar o espa?o do problema com o espa?o
da solu??o, desempenha um papel fundamental nas abordagens de deriva??o de
produto. Cada ferramenta adota estrat?gias e t?cnicas diferentes para gerenciar o
processo de deriva??o de produto e h? uma car?ncia de estudos experimentais para
avaliar as diferentes abordagens. Esta disserta??o de mestrado tem como objetivo
comparar sistematicamente abordagens de deriva??o autom?tica de produtos,
atrav?s do desenvolvimento de estudos emp?ricos. Os estudos s?o desenvolvidos
sob duas perspectivas: (i) qualitativa atrav?s da an?lise de caracter?sticas das
ferramentas; e (ii) quantitativa atrav?s da quantifica??o de propriedades
espec?ficas de artefatos de deriva??o produzidos para as ferramentas. Um conjunto
de crit?rios e m?tricas tamb?m ? proposto com o objetivo de oferecer suporte para
as an?lises qualitativas e quantitativas. Duas linhas de produto, uma para o dom?nio
de sistemas web e outra para o contexto de aplica??es de dispositivos m?veis, s?o
alvos do nosso estudo
|
44 |
[en] TO COLLABORATE OR NOT TO COLLABORATE?: IMPROVING THE IDENTIFICATION OF CODE SMELLS / [pt] COLABORAR OU NÃO COLABORAR?: MELHORANDO A IDENTIFICAÇÃO DE ANOMALIAS DE CÓDIGOROBERTO FELICIO DE OLIVEIRA 17 January 2018 (has links)
[pt] Anomalias de código são estruturas anômalas de código que podem indicar
problemas de manutenção. A identificação de anomalias é necessária para
revelar elementos de código mal estruturados, tais como classes e métodos.
Porém, a identificação individual de anomalias, realizada por um único desenvolvedor,
pode ser ineficaz. Estudos reportam limitações da identificação
individual de anomalias. Por exemplo, a identificação de anomalias requer
uma compreensão profunda de múltiplos elementos de um programa, e
cada elemento é melhor entendido por um desenvolvedor diferente. Logo,
um desenvolvedor isolado frequentemente tem dificuldades para encontrar,
confirmar e refutar uma suspeita de anomalia. Identificação colaborativa
de anomalias, que é realizada em conjunto por dois ou mais colaboradores,
tem o potencial para resolver esse problema. Porém, há pouca evidência
empírica sobre a eficácia da identificação colaborativa de anomalias. Nesta
tese, nós conduzimos estudos empíricos para entender a eficácia da identificação
individual e colaborativa de anomalias. Computamos e comparamos
a eficácia de colaboradores e desenvolvedores isolados com base no número
de anomalias identificadas corretamente. Conduzimos tais estudos em empresas
e laboratórios de pesquisa, totalizando 67 desenvolvedores, incluindo
desenvolvedores novatos e experientes. Também definimos alguns fatores de
influência sobre a eficácia da identificação colaborativa de anomalias, tais
como a granularidade da anomalia. Revelamos e caracterizamos algumas
atividades colaborativas que melhoram a eficácia dos desenvolvedores na
identificação de anomalias. Finalmente, identificamos oportunidades para
melhorar certas atividades colaborativas. Nossos resultados sugerem que
colaboradores são significativamente mais eficazes que desenvolvedores
isolados, tanto desevolvedores novatos quanto experientes. Concluímos que
colaborar é vantajoso para melhorar a identificação de uma vasta gama de
tipos de anomalia. / [en] Code smells are anomalous code structures which often indicate maintenance
problems in software systems. The identification of code smells is
required to reveal code elements, such as classes and methods, that are
poorly structured. Some examples of code smell types perceived as critical
by developers include God Classes and Feature Envy. However, the individual
smell identification, which is performed by a single developer, may
be ineffective. Several studies have reported limitations of individual smell
identification. For instance, the smell identification usually requires an indepth
understanding of multiple elements scattered in a program, and each
of these elements is better understood by a different developer. As a consequence,
a single developer often struggles and to find to confirm or refute
a code smell suspect. Collaborative smell identification, which is performed
together by two or more collaborators, has the potential to address this
problem. However, there is little empirical evidence on the effectiveness of
collaborative smell identification. In this thesis, we addressed the aforementioned
limitations as follows. First, we conducted empirical studies aimed at
understanding the effectiveness of both collaborative and individual smell
identification. We computed and compared the effectiveness of collaborators
and single developers based on the number of correctly identified code
smells. We conducted these studies in both industry’s companies and research
laboratories with 67 developers, including novice and professional
developers. Second, we defined some influential factors on the effectiveness
of collaborative smell identification, such as the smell granularity. Third, we
revealed and characterized some collaborative activities which improve the
developers effectiveness for identifying code smells. Fourth, we also characterized
opportunities for further improving the effectiveness of certain
collaborative activities. Our results suggest that collaborators are more effective
than single developers in: (i) both professional and academic settings,
and (ii) identifying a wide range of code smell types.
|
45 |
Insight : uma abordagem guiada pela informação para análise qualitativa com suporte de visualização e mineração de textoHernandes, Elis Cristina Montoro 25 August 2014 (has links)
Submitted by Alison Vanceto (alison-vanceto@hotmail.com) on 2017-02-10T11:21:07Z
No. of bitstreams: 1
TeseECMH.pdf: 5016372 bytes, checksum: 1ae169c4a370a647c5616953817c07a6 (MD5) / Approved for entry into archive by Ronildo Prado (ronisp@ufscar.br) on 2017-03-13T18:33:05Z (GMT) No. of bitstreams: 1
TeseECMH.pdf: 5016372 bytes, checksum: 1ae169c4a370a647c5616953817c07a6 (MD5) / Approved for entry into archive by Ronildo Prado (ronisp@ufscar.br) on 2017-03-13T18:33:16Z (GMT) No. of bitstreams: 1
TeseECMH.pdf: 5016372 bytes, checksum: 1ae169c4a370a647c5616953817c07a6 (MD5) / Made available in DSpace on 2017-03-13T18:46:36Z (GMT). No. of bitstreams: 1
TeseECMH.pdf: 5016372 bytes, checksum: 1ae169c4a370a647c5616953817c07a6 (MD5)
Previous issue date: 2014-08-25 / Coordenação de Aperfeiçoamento de Pessoal de Nível Superior (CAPES) / Instituto Nacional de Estudos e Pesquisas Educacionais (INEP) / Usually, experimental studies that are conducted to generate evidences on the different
scientific fields produce many qualitative data to be analyzed by researchers. For instance, this is
the case of defects lists generated from the software inspection activity, which defects consist of
qualitative data that should be discussed and classified. This scenario was experienced during the
Readers Project, where defects lists have token long time to be analyzed, sometimes hours or days,
making the decisions about defects difficult. Moreover, feedback questionnaires deserved a careful
analysis, since they carried relevant information about the experimental study. Aim: Driven by the
described situation this research aimed to support the qualitative analysis conduction in an
information-guided way, using visualization and text mining techniques to enable it. This approach
allows software inspection defects described similarly be analyzed together, due to the use of these
techniques, which may allow the homogeneity of the decisions about them. The same happens in
the context of feedback questionnaires. Methodology: Based on the objective, the ways that
visualization and text mining could contribute to become qualitative analysis more effective and
efficient were investigated and designed. Considering it, the Insight tool was developed to enable
the information-guided qualitative analysis. Experimental studies were conducted to validate and
evaluate the approach on different contexts. Results: Four experimental studies were conducted:
(i) a feasibility study conducted with text documents which gave evidences that the use of
visualization and text mining met previous expectations and was feasible to be employed; (ii) a
study in the context of software inspection which, although the quantitative data did not present
statistical significance, the descriptive statistics and feedback questionnaires analysis gave
evidences that visualization and text mining makes the qualitative analysis effective and efficient;
(iii) a study in the context of questionnaires, which results were similar to the previous study; (iv)
a case study in the context of qualitative analysis of long text documents which gave evidences
about the utility and ease of use of the approach. Conclusion: Under the different contexts of
evaluation, the Insight, an information-guided qualitative analysis approach that is based on
visualization and text mining, gave evidences about the improvements on efficiency and
effectiveness. Adding to its relevance in software engineering area, this research also contributes
to other scientific fields, which often claim for technological support to conduct their research. / Em geral, os estudos experimentais, que são responsáveis pela construção de evidências
nas várias áreas da ciência, geram grande volume de dados qualitativos que devem ser analisados.
Esse é o caso, por exemplo, de listas de defeitos derivadas de atividades de inspeção, cujos
defeitos correspondem a dados qualitativos que devem ser discutidos e analisados. Esse cenário
ocorreu no Projeto Readers, em que as listas de defeitos consumiam horas e dias para serem
analisadas, o que dificultava a decisão sobre eles. Além disso, os questionários de feedback
também mereciam análise cuidadosa, pois traziam informações relevantes sobre o estudo
experimental. Objetivo: Motivado pela situação descrita, esta pesquisa teve o objetivo de apoiar a
condução da técnica Coding de forma que a análise dos dados seja feita guiada pela informação,
utilizando para isso visualização e mineração de texto. Isso possibilita que, no contexto de
inspeção de software, relatos de defeitos semelhantes sejam tratados em um mesmo momento, em
decorrência do uso dessas técnicas, fazendo que as decisões sejam homogêneas. O mesmo
acontece com informações do questionário de feedback. Metodologia: Com base no objetivo
estabeleceram-se as formas com que a visualização e mineração de texto poderiam contribuir para
tornar a análise dos dados mais efetiva e eficiente. Com base nessas definições a ferramenta
Insight foi desenvolvida para tornar viável a codificação guiada pela informação. Estudos
experimentais foram conduzidos para validar e avaliar a tese em diferentes contextos. Resultados:
Foram realizados quatro estudos experimentais: (i) estudo de viabilidade conduzido com
documentos textuais que evidenciou que o uso de visualização e mineração de texto atendia à
expectativa e era viável de ser adotado; (ii) estudo realizado no contexto de reunião de inspeção
que, embora não tenha apresentado significância estatística dos resultados, evidenciou por meio
das análises descritivas e análise dos questionários de feedback que o uso de visualização e
mineração de texto para esta atividade a torna mais efetiva e eficiente; (iii) estudo realizado no
contexto de questionários, cujos resultados foram semelhantes ao anterior; (iv) estudo de caso feito
no contexto de análise qualitativa que evidenciou a utilidade e facilidade de uso da abordagem
para analisar documentos textuais extensos. Conclusão: Nos diferentes contextos em que foi
avaliada, a abordagem de análise qualitativa guiada pela informação, baseada em visualização e
mineração de texto, evidenciou melhorias na efetividade e eficiência da atividade. Além da
relevância da pesquisa para a área de Engenharia de Software, ressalta-se que ela é uma
contribuição para outras áreas do conhecimento, muitas vezes carentes de suporte tecnológicos
para a condução de suas pesquisas.
|
46 |
Um framework de testes unitários para procedimentos de carga em ambientes de business intelligenceSantos, Igor Peterson Oliveira 30 August 2016 (has links)
Coordenação de Aperfeiçoamento de Pessoal de Nível Superior - CAPES / Business Intelligence (BI) relies on Data Warehouse (DW), a historical data repository designed to support the decision making process. Despite the potential benefits of a DW, data quality issues prevent users from realizing the benefits of a BI environment and Data Analytics. Problems related to data quality can arise in any stage of the ETL (Extract, Transform and Load) process, especially in the loading phase. This thesis presents an approach to automate the selection and execution of previously identified test cases for loading procedures in BI environments and Data Analytics based on DW. To verify and validate the approach, a unit test framework was developed. The overall goal is achieve data quality improvement. The specific aim is reduce test effort and, consequently, promote test activities in DW process. The experimental evaluation was performed by two controlled experiments in the industry. The first one was carried out to investigate the adequacy of the proposed method for DW procedures development. The Second one was carried out to investigate the adequacy of the proposed method against a generic framework for DW procedures development. Both results showed that our approach clearly reduces test effort and coding errors during the testing phase in decision support environments. / A qualidade de um produto de software está diretamente relacionada com os testes empregados durante o seu desenvolvimento. Embora os processos de testes para softwares aplicativos e sistemas transacionais já apresentem um alto grau de maturidade, estes devem ser investigados para os processos de testes em um ambiente de Business Intelligence (BI) e Data Analytics. As diferenças deste ambiente em relação aos demais tipos de sistemas fazem com que os processos e ferramentas de testes existentes precisem ser ajustados a uma nova realidade. Neste contexto, grande parte das aplicações de Business Intelligence (BI) efetivas depende de um Data Warehouse (DW), um repositório histórico de dados projetado para dar suporte a processos de tomada de decisão. São as cargas de dados para o DW que merecem atenção especial relativa aos testes, por englobar procedimentos críticos em relação à qualidade. Este trabalho propõe uma abordagem de testes, baseada em um framework de testes unitários, para procedimentos de carga em um ambiente de BI e Data Analytics. O framework proposto, com base em metadados sobre as rotinas de carga, realiza a execução automática de casos de testes, por meio da geração de estados iniciais e a análise dos estados finais, bem como seleciona os casos de testes a serem aplicados. O objetivo é melhorar a qualidade dos procedimentos de carga de dados e reduzir o tempo empregado no processo de testes. A avaliação experimental foi realizada através de dois experimentos controlados executados na indústria. O primeiro avaliou a utilização de casos de testes para as rotinas de carga, comparando a efetividade do framework com uma abordagem manual. O segundo experimento efetuou uma comparação com um framework genérico e similar do mercado. Os resultados indicaram que o framework pode contribuir para o aumento da produtividade e redução dos erros de codificação durante a fase de testes em ambientes de suporte à decisão.
|
47 |
Cross-project defect prediction with meta-Learning / Predição de defeitos cruzada entre projetos apoiado por meta-aprendizadoFaimison Rodrigues Porto 29 September 2017 (has links)
Defect prediction models assist tester practitioners on prioritizing the most defect-prone parts of the software. The approach called Cross-Project Defect Prediction (CPDP) refers to the use of known external projects to compose the training set. This approach is useful when the amount of historical defect data of a company to compose the training set is inappropriate or insufficient. Although the principle is attractive, the predictive performance is a limiting factor. In recent years, several methods were proposed aiming at improving the predictive performance of CPDP models. However, to the best of our knowledge, there is no evidence of which CPDP methods typically perform best. Moreover, there is no evidence on which CPDP methods perform better for a specific application domain. In fact, there is no machine learning algorithm suitable for all domains. The decision task of selecting an appropriate algorithm for a given application domain is investigated in the meta-learning literature. A meta-learning model is characterized by its capacity of learning from previous experiences and adapting its inductive bias dynamically according to the target domain. In this work, we investigate the feasibility of using meta-learning for the recommendation of CPDP methods. In this thesis, three main goals were pursued. First, we provide an experimental analysis to investigate the feasibility of using Feature Selection (FS) methods as an internal procedure to improve the performance of two specific CPDP methods. Second, we investigate which CPDP methods present typically best performances. We also investigate whether the typically best methods perform best for the same project datasets. The results reveal that the most suitable CPDP method for a project can vary according to the project characteristics, which leads to the third investigation of this work. We investigate the several particularities inherent to the CPDP context and propose a meta-learning solution able to learn from previous experiences and recommend a suitable CDPD method according to the characteristics of the project being predicted. We evaluate the learning capacity of the proposed solution and its performance in relation to the typically best CPDP methods. / Modelos de predição de defeitos auxiliam profissionais de teste na priorização de partes do software mais propensas a conter defeitos. A abordagem de predição de defeitos cruzada entre projetos (CPDP) refere-se à utilização de projetos externos já conhecidos para compor o conjunto de treinamento. Essa abordagem é útil quando a quantidade de dados históricos de defeitos é inapropriada ou insuficiente para compor o conjunto de treinamento. Embora o princípio seja atrativo, o desempenho de predição é um fator limitante nessa abordagem. Nos últimos anos, vários métodos foram propostos com o intuito de melhorar o desempenho de predição de modelos CPDP. Contudo, na literatura, existe uma carência de estudos comparativos que apontam quais métodos CPDP apresentam melhores desempenhos. Além disso, não há evidências sobre quais métodos CPDP apresentam melhor desempenho para um domínio de aplicação específico. De fato, não existe um algoritmo de aprendizado de máquina que seja apropriado para todos os domínios de aplicação. A tarefa de decisão sobre qual algoritmo é mais adequado a um determinado domínio de aplicação é investigado na literatura de meta-aprendizado. Um modelo de meta-aprendizado é caracterizado pela sua capacidade de aprender a partir de experiências anteriores e adaptar seu viés de indução dinamicamente de acordo com o domínio alvo. Neste trabalho, nós investigamos a viabilidade de usar meta-aprendizado para a recomendação de métodos CPDP. Nesta tese são almejados três principais objetivos. Primeiro, é conduzida uma análise experimental para investigar a viabilidade de usar métodos de seleção de atributos como procedimento interno de dois métodos CPDP, com o intuito de melhorar o desempenho de predição. Segundo, são investigados quais métodos CPDP apresentam um melhor desempenho em um contexto geral. Nesse contexto, também é investigado se os métodos com melhor desempenho geral apresentam melhor desempenho para os mesmos conjuntos de dados (ou projetos de software). Os resultados revelam que os métodos CPDP mais adequados para um projeto podem variar de acordo com as características do projeto sendo predito. Essa constatação conduz à terceira investigação realizada neste trabalho. Foram investigadas as várias particularidades inerentes ao contexto CPDP a fim de propor uma solução de meta-aprendizado capaz de aprender com experiências anteriores e recomendar métodos CPDP adequados, de acordo com as características do software. Foram avaliados a capacidade de meta-aprendizado da solução proposta e a sua performance em relação aos métodos base que apresentaram melhor desempenho geral.
|
48 |
Um framework de testes unitários para procedimentos de carga em ambientes de business intelligenceSantos, Igor Peterson Oliveira 30 August 2016 (has links)
Coordenação de Aperfeiçoamento de Pessoal de Nível Superior - CAPES / Business Intelligence (BI) relies on Data Warehouse (DW), a historical data repository designed to support the decision making process. Despite the potential benefits of a DW, data quality issues prevent users from realizing the benefits of a BI environment and Data Analytics. Problems related to data quality can arise in any stage of the ETL (Extract, Transform and Load) process, especially in the loading phase. This thesis presents an approach to automate the selection and execution of previously identified test cases for loading procedures in BI environments and Data Analytics based on DW. To verify and validate the approach, a unit test framework was developed. The overall goal is achieve data quality improvement. The specific aim is reduce test effort and, consequently, promote test activities in DW process. The experimental evaluation was performed by two controlled experiments in the industry. The first one was carried out to investigate the adequacy of the proposed method for DW procedures development. The Second one was carried out to investigate the adequacy of the proposed method against a generic framework for DW procedures development. Both results showed that our approach clearly reduces test effort and coding errors during the testing phase in decision support environments. / A qualidade de um produto de software está diretamente relacionada com os testes empregados durante o seu desenvolvimento. Embora os processos de testes para softwares aplicativos e sistemas transacionais já apresentem um alto grau de maturidade, estes devem ser investigados para os processos de testes em um ambiente de Business Intelligence (BI) e Data Analytics. As diferenças deste ambiente em relação aos demais tipos de sistemas fazem com que os processos e ferramentas de testes existentes precisem ser ajustados a uma nova realidade. Neste contexto, grande parte das aplicações de Business Intelligence (BI) efetivas depende de um Data Warehouse (DW), um repositório histórico de dados projetado para dar suporte a processos de tomada de decisão. São as cargas de dados para o DW que merecem atenção especial relativa aos testes, por englobar procedimentos críticos em relação à qualidade. Este trabalho propõe uma abordagem de testes, baseada em um framework de testes unitários, para procedimentos de carga em um ambiente de BI e Data Analytics. O framework proposto, com base em metadados sobre as rotinas de carga, realiza a execução automática de casos de testes, por meio da geração de estados iniciais e a análise dos estados finais, bem como seleciona os casos de testes a serem aplicados. O objetivo é melhorar a qualidade dos procedimentos de carga de dados e reduzir o tempo empregado no processo de testes. A avaliação experimental foi realizada através de dois experimentos controlados executados na indústria. O primeiro avaliou a utilização de casos de testes para as rotinas de carga, comparando a efetividade do framework com uma abordagem manual. O segundo experimento efetuou uma comparação com um framework genérico e similar do mercado. Os resultados indicaram que o framework pode contribuir para o aumento da produtividade e redução dos erros de codificação durante a fase de testes em ambientes de suporte à decisão.
|
49 |
Uma abordagem para automatizar a manutenção do código de procedimentos de carga para ambientes de business intelligenceCosta, Juli Kelle Góis 27 August 2015 (has links)
Business Intelligence (BI) relies on Data Warehouse (DW), a historical data repository designed to support the decision making process. Without an effective Data Warehouse, organizations cannot extract the data required for information analysis in time to enable more effective strategic, tactical, and operational insights. This thesis presents an approach and a Rapid Application Development (RAD) tool to increase efficiency and effectiveness of ETL (Extract, Transform and Load) programs creation and maintenance. Experiment evaluation of the approach is carried out in two controlled experiments that carefully evaluated the efficiency and effectiveness of the tool in an industrial setting. The results indicate that our approach can indeed be used as method aimed at improving creation and maintenance of ETL processes. / Grande parte das aplicações de Business Intelligence (BI) efetivas depende de um Data Warehouse (DW), um repositório histórico de dados projetado para dar suporte a processos de tomada de decisão. Sem um DW eficiente, as organizações tendem a não extrair, em um tempo aceitável, os dados que viabilizam ações estratégicas, táticas e operacionais mais eficazes. Muitos ambientes de BI possuem um processo de Engenharia de Software particular, baseado em dados, para desenvolver programas de Extração, Transformação e Carga (ETL) de dados para o DW. Este trabalho propõe o desenvolvimento e experimentação de uma abordagem de Desenvolvimento Rápido de Aplicações (RAD) para aumentar a eficácia e a eficiência da manutenção de procedimentos de carga SQL, utilizados em processos ETL, avaliando a relação existente entre a sua utilização e a qualidade dos dados que são movidos, gerados e atualizados durante o processo de povoamento de um Data Warehouse. Este é um ambiente ímpar que necessita de maior integração e interdisciplinaridade entre as áreas de Engenharia de Software (ES) e Banco de Dados. Foi feita uma avaliação da criação e manutenção automática de procedimentos em extensões da SQL, perfazendo dois experimentos controlados feitos na indústria, para analisar a efetividade de uma ferramenta que encapsula e automatiza parte da abordagem. Os resultados indicaram que a nossa abordagem pode ser usada como método para acelerar e melhorar o desenvolvimento e manutenção de processos ETL.
|
50 |
Identificação e análise de clones de códigos heterogêneos em um ambiente corporativo de desenvolvimento de softwareTorres, José Jorge Barreto 31 August 2016 (has links)
The demand for speeding up software development inside
corporations triggers a series of issues related to coding organization.
Software development teams have to achieve business deadlines, so
they adopt the bad practice to copy-and-paste code. In this way, clones
populate software repositories and hinder the improvement or
maintenance of systems. Programming languages with object-oriented
paradigm characteristics tend to make easy coding abstraction and
reuse processes. However, a question arises: the same team working
with several kinds of programming languages are influenced by their
paradigms regarding the decrease of cloning incidence? This work
proposed an approach to identify, analyze and compare clones inside
heterogeneous software repositories without consider the development
team profile. The experimental evaluation of the approach was possible
thru two controlled experiments which aimed to detect and evaluate
clones, using and adapting tools available on market. This evaluation
was executed inside an organizational environment, which owned
several applications with closed-source code but available to analysis.
The final results showed no relationship to the amount of application
code lines. Procedural language systems had a lower clone incidence
and, when conflicting open and closed source systems, both had similar
results regarding to the manifestation of source-code clones. / A exigência por acelerar o desenvolvimento de software nas
empresas desencadeia uma série de problemas relacionados à
organização do código. As equipes de desenvolvimento, pressionadas a
cumprir prazos ditados pela área de negócio, adotam a prática ruim de
copiar e colar código. Assim, os clones são criados e povoam os
repositórios de software dessas companhias, tornando o aprimoramento
e manutenção dos sistemas cada vez mais dificultado. Linguagens de
programação que possuem características do paradigma de orientação a
objetos tendem a facilitar ainda mais o processo de abstração de código
e de reaproveitamento. No entanto, uma questão pode ser feita: uma
mesma equipe, trabalhando com diversos tipos de linguagens, sofre
influência destes tipos, no que diz respeito à diminuição da incidência
de clones? Este trabalho propôs uma abordagem para identificar,
analisar e comparar clones em repositórios heterogêneos de software,
com uma análise tênue do perfil da equipe envolvida. A avaliação
experimental da abordagem foi realizada por meio de dois
experimentos controlados, os quais visaram a detecção e a avaliação de
clones, utilizando e adaptando o ferramental disponível no mercado.
Esta avaliação foi executada in-vivo, em um ambiente organizacional
real, o qual possuía uma grande quantidade de aplicações e linhas de
código fechado disponíveis para análise. Os resultados finais não
apresentaram relação direta com a quantidade de linhas de código das
aplicações. Sistemas de linguagem procedural apresentaram menor
incidência de clones e, no conflito entre sistemas de código aberto e
fechado, ambos tiveram resultados similares no que diz respeito à
manifestação de clones de código-fonte.
|
Page generated in 0.1426 seconds