• Refine Query
  • Source
  • Publication year
  • to
  • Language
  • 35
  • 15
  • 1
  • Tagged with
  • 51
  • 51
  • 51
  • 38
  • 13
  • 10
  • 9
  • 8
  • 8
  • 8
  • 8
  • 8
  • 8
  • 7
  • 7
  • About
  • The Global ETD Search service is a free service for researchers to find electronic theses and dissertations. This service is provided by the Networked Digital Library of Theses and Dissertations.
    Our metadata is collected from universities around the world. If you manage a university/consortium/country archive and want to be added, details can be found on the NDLTD website.
21

Um mapeamento sistemático de mecanismos para guiar estudos empíricos em engenharia de software

Trigueiro de Almeida Filho, Adauto 31 January 2011 (has links)
Made available in DSpace on 2014-06-12T15:48:49Z (GMT). No. of bitstreams: 2 arquivo1176_1.pdf: 1937096 bytes, checksum: 6f6d783165255115722d915e51948d76 (MD5) license.txt: 1748 bytes, checksum: 8a4605be74aa9ea9d79846c1fba20a33 (MD5) Previous issue date: 2011 / Faculdade de Amparo à Ciência e Tecnologia do Estado de Pernambuco / Estudos empíricos têm se mostrado mecanismos relevantes para o avanço científico em diversas áreas, como por exemplo as Ciências Sociais e a Medicina. Tais áreas possuem considerável experiência na condução de estudos dessa natureza. Em Engenharia de Software (ES) não é diferente, pois desde a década de 1980 estudos empíricos têm sido evidenciados como um importante instrumento para o desenvolvimento da área, que é fortemente dependente de atividades humanas. Nesse cenário, é essencial ter conhecimento para conduzir os principais tipos de estudos emp´ıricos encontrados em ES, a saber: experimento controlado, quasi-experimento, survey, etnografia, pesquisa-ação e estudo de caso. A partir desse contexto, esta pesquisa visa selecionar os trabalhos mais relevantes da área que foram capazes de desenvolver algum tipo de mecanismo específico para ES que servisse de guia para os estudos empíricos citados anteriormente. Essa seleção foi realizada através de um mapeamento sistemático de estudos, o qual utilizou buscas automatizadas com a ajuda de cinco engenhos de busca de bibliotecas digitais, além de busca manual em periódicos e conferências relevantes para a área. No total, foram encontrados 7101 estudos, dos quais 23 foram identificados como trabalhos primários relevantes e serviram como fonte para coleta de evidências para responder as três perguntas de pesquisa propostas. Após a análise, conclui-se que há alguns esforços em fornecer guias específicos que apoiem a condução de estudos empíricos em ES, inclusive aproveitando experiências de outras áreas. No entanto, ainda há lacunas na área de ES empírica a serem preenchidas no que diz respeito à disponibilidade de material guia específico para ES, como por exemplo, em etnografia e pesquisa-ação, além da padronização dos procedimentos. O preenchimento de tais lacunas é essencial para fomentar a condução de tais pesquisas empíricas que são fundamentais para o desenvolvimento da ES
22

Análise de completude dos relatos de experimentos em elasticidade na computação em nuvem: um mapeamento sistemático / Análise de completude dos relatos de experimentos em elasticidade na computação em nuvem

BARREIROS, Helaine Solange Lins 31 August 2015 (has links)
Submitted by Fabio Sobreira Campos da Costa (fabio.sobreira@ufpe.br) on 2016-08-17T12:35:50Z No. of bitstreams: 2 license_rdf: 1232 bytes, checksum: 66e71c371cc565284e70f40736c94386 (MD5) hslb_vfinal_biblioteca.pdf: 2869691 bytes, checksum: 268c462f64e20bae35c274e245ae62f3 (MD5) / Made available in DSpace on 2016-08-17T12:35:50Z (GMT). No. of bitstreams: 2 license_rdf: 1232 bytes, checksum: 66e71c371cc565284e70f40736c94386 (MD5) hslb_vfinal_biblioteca.pdf: 2869691 bytes, checksum: 268c462f64e20bae35c274e245ae62f3 (MD5) Previous issue date: 2015-08-31 / FACEPE / Contexto: Para que os leitores possam avaliar a validade de um estudo empírico, replicar seus resultados, ou para que editores possam julgar efetivamente o verdadeiro potencial de impacto da pesquisa, os autores devem relatar e documentar cuidadosamente elementos da pesquisa como: motivação, objetivo, método, análise dos dados, resultados, conclusões e limitações. Infelizmente autores têm indicado que a comunicação dos resultados de estudos empíricos (EE) na computação em nuvem (CN) omitem informações relevantes destes elementos de pesquisa.Tais inconveniências na comunicação dos resultados destes estudos, ampliadas a todo um campo de pesquisa, podem levar a um conjunto potencial de evidências fracas ou ilusórias para futuras pesquisas científicas. Objetivo: Apesar de críticas aos relatos dos estudos empíricos serem evidenciadas, até o presente momento, não foi realizada uma caracterização das informações omitidas pelos autores. Neste sentido, o presente estudo tem como objetivo apresentar um esforço primeiro que analisa nos relatos a apresentação dos elementos de pesquisa acima citados, considerados essenciais para a análise da validade e protencial de uma pesquisa empírica. Analisar a forma de apresentação dos resultados é um primeiro passo relevante para a compreensão do cenário atual da prática dos relatos dos estudos empíricos. Assim, foi analisado nos relatos o grau de completude: o quão presentes estão as informações dos elementos da pesquisa em seus relatos. Afim de realizar uma análise mais profunda, o foco inicial da pesquisa foi direcionado ao método empírico de experimentação, com foco nas avaliações da característica de elasticidade da CN. Método: Através de um mapeamento sistemático da literatura (MSL) foram identificados os experimentos em elasticidade na computação em nuvem e, através de instrumento de avaliação criado com base em orientações existentes para se reportar experimentos na engenharia de software experimental, a completude de seus relatos foi avaliada. Resultado: Após a avaliação inicial de 3.611 estudos, foram selecionados e analisados os relatos de 59 experimentos. Constatamos que em geral os autores omitem informações relacionadas ao planejamento da pesquisa, coleta dos dados, procedimentos de execução, instrumentação, análise dos dados, relação dos resultados com pesquisas anteriores, ameaças à validade e generalização dos resultados. Em relação ao índice de completude o maior grau foi 6.67 em uma escala de 0 a 10, sendo considerada baixa em valores quantitativos. Também foi realizada uma breve análise qualitativa que revela que, ainda que reportadas, muitas das informações apresentadas pelos relatos são superficiais e dificultam a interpretação, validação, generalização e replicação dos resultados dos estudos. / Context: To enable readers to assess the validity of an empirical study, replicate their results, or allow publishers to effectively judge its true potential impact of research, the authors should report and carefully document elements of research, such as: motivation, goal, method, data analysis, findings, conclusions and limitations. Unfortunately authors have indicated that communication of the results of empirical studies in cloud computing omit relevant information from these elements. Such inconveniences in reporting the results of these studies, expanded to an entire field of research, can lead to a potential set of weak or misleading evidence for future scientific research. Objective: Despite criticism of the reports of empirical studies are highlighted, to date, has not been performed a characterization of the information omitted by the authors. In this sense, this study aims to present a first effort which analyzes the reports presenting the research elements mentioned above, considered essential for the analysis of the validity and protencial of empirical research. To examine how to present the results is an important first step towards understanding the current state of the practice of the reports of empirical studies. Thus, it was analyzed in the reports of the studies the degree of completeness: which information from research elements in their reports. In order to conduct a deeper analysis of the reports, the initial focus of the research was directed to the empirical method of experimentation, focusing on evaluations of cloud computing elasticity characteristic. Method: Through a systematic mapping of literature were identified experiments on elasticity in the cloud computing and through an assessment instrument, created based on existing guidelines to report experiments in experimental software engineering, the completeness of their reports was evaluated. Results: After the initial evaluation of 3,611 studies, 59 experiments were selected and had their reports analyzed. It was found that in general the authors omit information related to the research design, data collection, execution procedures, instrumentation, data analysis, comparison of the results with previous research, threats to validity and generalizability of the results. In relation to the completeness index, the highest score reached was 6.67 on a scale of 0 to 10, and such completion is considered low in quantitative terms. A brief qualitative analysis was also conducted which reveals that, although reported, much of the information presented by the reports are superficial and difficult to interpret, validate, generalize and hinder replication of study results.
23

Analysis of human-centric software engineering experiments: a systematic mapping study

FALCÃO, Larissa Catão Tenório 18 February 2016 (has links)
Submitted by Natalia de Souza Gonçalves (natalia.goncalves@ufpe.br) on 2016-09-28T12:40:17Z No. of bitstreams: 2 license_rdf: 1232 bytes, checksum: 66e71c371cc565284e70f40736c94386 (MD5) Dissertacao - Larissa Falcao - Final - Correcoes Biblioteca - Entrega.pdf: 1172723 bytes, checksum: b0a57a917a5abab25c66870d353d906f (MD5) / Made available in DSpace on 2016-09-28T12:40:17Z (GMT). No. of bitstreams: 2 license_rdf: 1232 bytes, checksum: 66e71c371cc565284e70f40736c94386 (MD5) Dissertacao - Larissa Falcao - Final - Correcoes Biblioteca - Entrega.pdf: 1172723 bytes, checksum: b0a57a917a5abab25c66870d353d906f (MD5) Previous issue date: 2016-02-18 / CNPq / Software Engineering professionals need to have information about new support mechanisms to decide, not at random, what option is best adapting it needs. One way of obtaining this information is through empirical studies that make the mechanisms used to support the design and development of software, be evaluated in practice. Thus, scientific research through experiments and empirical studies are fundamental during the evaluation of any new technology to software development. In this context, researchers perform experiments to check their proposals under controlled conditions. Therefore, experiments are an important category of empirical studies and are the classical approach for identifying cause-effect relationships. The goal of this dissertation is qualitatively and quantitatively characterizes and analyze human-centric experiments in software engineering, published in three journals andthree conferences proceedings from 2003 to 2013. To reach this objective was performed a systematic mapping study that includes all full papers published at EASE, ESEM, ICSE, ESEJ, JSS, TSE. Based on manual searches in those important conferences and journals in Software Engineering, were analyzed 3671 papers. 244 primary studies were identified as relevant, reporting experiments. In these experiments, we obtained qualitative and quantified data about authors and institutions, subjects, tasks performed, environment, replication and threats to validity. From the analysis performed, this work conclude that despite guidelines exist now, there is a large gap in the report of the experiments. The main contribution of this work is to provide the reporting status of human-centric software engineering experiments and how this field has matured. This work also proposes a list of information that an experiment report expected to have. / Profissionais de engenharia de software precisam ter informações sobre os novos mecanismos de apoio, a fim de decidir sem ser ao acaso, qual é a melhor opção que se adapta ao que se precisa. Uma maneira de obter essas informações é através de estudos empíricos, que permitem que os mecanismos utilizados para apoiar a concepção e desenvolvimento de software sejam avaliados na prática. Assim, a pesquisa científica através de experimentos e estudos empíricos são de fundamental importância na avaliação de qualquer nova tecnologia para desenvolvimento de software. Pesquisadores realizam experimentos para verificar as suas propostas sob condições controladas. Portanto, os experimentos são uma categoria importante de estudos empíricos e são a abordagem clássica para identificar relações de causaefeito. O objetivo deste trabalho é caracterizar qualitativa e quantitativamente, e analisar experimentos centrados em humanos em engenharia de software, publicados em três jornais e três conferências de 2003 a 2013. Para atingir este objetivo foi realizado um estudo de mapeamento sistemático que inclui todos os artigos completos publicados no EASE, ESEM, ICSE, ESEJ, JSS, TSE. Com base em pesquisas manuais nessas importantes conferências e periódicos em Engenharia de Software, foram analisados 3671 artigos. 244 estudos primários foram identificados como relevantes, relatando experimentos. Nesses experimentos foram obtidos dados qualitativos e quantificados sobre autores e instituições, participantes, tarefas realizadas, o ambiente, replicação e ameaças à validade. A partir da análise realizada, este trabalho conclui que apesar dos guias existirem agora, há uma grande lacuna no relatório desses experimentos. A principal contribuição deste trabalho é fornecer o status dos relatórios de experimentos centrados em humanos em engenharia de software e como este campo amadureceu. Este trabalho também propõe uma lista de informações que um relatório de experimento deve ter.
24

[en] EVALUATION OF SOFTWARE QUALITY BASED ON UML MODELS / [pt] AVALIAÇÃO DA QUALIDADE DE SOFTWARE COM BASE EM MODELOS UML

ISELA MACIA BERTRAN 08 June 2009 (has links)
[pt] Um dos objetivos da engenharia de software é a construção de software com um nível de qualidade elevado com o menor custo e no menor tempo possível. Nesse contexto, muitas técnicas para o controle da qualidade de design de software têm sido definidas. Além disso, mecanismos baseados em métricas para a detecção de problemas também têm sido definidos. A maioria dessas técnicas e mecanismos foca a análise do código fonte. Porém, para reduzir retrabalho inútil, é importante utilizar técnicas de análise da qualidade capazes de detectar problemas de design já desde os modelos dos sistemas. Esta dissertação propõe: (i) um conjunto de estratégias de detecção para identificar, em modelos UML, problemas de design específicos e recorrentes na literatura: Long Parameter List, God Class, Data Class, Shotgun Surgery, Misplaced Class e God Package, e (ii) a utilização do modelo da qualidade QMOOD para avaliar design de software a partir de seus diagramas de classes. Para automatizar a aplicação destes mecanismos foi implementada uma ferramenta: a QCDTool. Os mecanismos desenvolvidos foram avaliados no contexto de dois estudos experimentais. O primeiro estudo avaliou a acurácia, precisão e recall das estratégias de detecção propostas. Esse estudo mostrou os benefícios e desvantagens da aplicação, em modelos, das estratégias de detecção propostas. O segundo estudo avaliou a utilidade da aplicação do modelo da qualidade QMOOD em diagramas UML. Esse estudo mostrou que foi possível identificar, em diagramas de classes, variações das propriedades de design, e, conseqüentemente, dos atributos da qualidade nos sistemas analisados. / [en] One of the goals of software engineering is the development of high quality software at a small cost an in a short period of time. In this context, several techniques have been defined for controlling the quality of software designs. Furthermore, many metrics-based mechanisms have been defined for detecting software design flaws. Most of these mechanisms and techniques focus on analyzing the source code. However, in order to reduce unnecessary rework it is important to use quality analysis techniques that allow the detection of design flaws earlier in the development cycle. We believe that these techniques should analyze design flaws starting from software models. This dissertation proposes: (i) a set of strategies to detect, in UML models, specific and recurrent design problems: Long Parameter List, God Class, Data Class, Shotgun Surgery, Misplaced Class and God Package; (ii) and the use of QMOOD quality model to analyze class diagrams. To automate the application of these mechanisms we implemented a tool: the QCDTool. The detection strategies and QMOOD model were evaluated in the context of two experimental studies. The first study analyzed the accuracy, precision and recall of the proposed detection strategies. The second study analyzed the utility of use QMOOD quality model in the class diagrams. The results of the first study have shown the benefits and drawbacks of the application in class diagrams of some of the proposed detection strategies. The second study shows that it was possible to identify, based on class diagrams, variations of the design properties and consequently, of the quality attributes in the analyzed systems.
25

Avaliação da efetividade dos critérios de teste estruturais no contexto de programas concorrentes / Investigating of the structural testing effectiveness in context of concurrent programs

Maria Adelina Silva Brito 24 November 2011 (has links)
A Engenharia de Software tem desenvolvido t[écnicas e métodos para apoiar o desenvolvimento de software confiável, flexível, com baixo custo de desenvolvimento e fácil manutenção. Técnicas e critérios de teste contribuem nessa direção, fornecendo mecanismos para produzir software com alta qualidade. Este trabalho apresenta um estudo experimental para avaliar o custo, eficácia e a dificuldade de satisfação (strength) dos critérios estruturais propostos para programas concorrentes. Esta avaliação foi conduzida usando oito programas implementados em MPI e utilizando a ferramenta de teste ValiMPI. Com base em taxonomias, defeitos foram injetados nos programas de modo a avaliar a eficácia dos critérios de teste em revelar os defeitos inseridos. Os resultados obtidos demonstraram o aspecto complementar dos critérios e informações sobre o custo e eficácia, que contribuíram para o estabelecimento de uma estratégia de teste incremental para aplicar os critérios de teste em uma boa relação custo-eficácia. Para concluir, os resultados indicam que os critérios de teste estrutural propostos para programas concorrentes em MPI são promissores e podem auxiliar a detectar defeitos nessas aplicações, melhorando a qualidade das mesmas / The software engineering has developed techniques and methods to help the software development reliable, exible and with lower development costs and easy maintenance. Testing techniques and criteria contribute in this sense, providing mechanisms to produce high quality software. This work presents an experimental study to evaluate the cost, effectiveness and strength of the structural testing criteria for concurrent programs. This evaluation has been conducted using eight programs implemented in MPI and the ValiMPI testing tool. Based on a fault taxonomy for concurrent programs, defects have been injected in these programs in order to evaluate the effectiveness of the testing criteria. The results indicate the complementary aspect of the criteria and the information about cost and effectiveness have contributed to the establishment of an incremental testing strategy to apply the testing criteria in good relation cost-effectiveness. To conclude, the results indicate that the structural testing criteria, proposed for MPI concurrent programs, are promising and they can help to find defects in these applications, improving their quality
26

Monitoramento de métricas de código-fonte em projetos de software livre / Source code metrics tracking on free and open source projects

Paulo Roberto Miranda Meirelles 20 May 2013 (has links)
Nesta tese de doutorado, apresentamos uma abordagem para a observação das métricas de código-fonte, estudando-as através de suas distribuições e associações, além de discutir as relações de causalidade e implicações práticas-gerenciais para monitoramento das mesmas. Em nossos estudos avaliamos a distribuição e correlações dos valores das métricas de 38 projetos de software livre, dentre os com mais contribuidores ativos em seus repositórios. Para tal, coletamos e analisamos os valores para cada métrica em mais de 344.872 classes e módulos dos projetos avaliados. Complementarmente, para mostrarmos a utilidade do monitoramento de métricas, descrevemos uma extensão e adaptação do modelo de causalidade do conceito de atratividade de projetos de software livre, que indica uma relação estatística entre os valores das métricas de código-fonte e a quantidade de downloads, contribuidores e atualizações (commits) nos repositórios dos projetos. Para isso, realizamos estudos empíricos com milhares de projetos de software livre. Do ponto de vista prático, também contribuímos com um conjunto de ferramentas inovador para a automação da avaliação de projetos de software livre, com ênfase nos estudos e na seleção de métricas, o que permite a análise de código-fonte de acordo com a percepção de qualidade das comunidades de software livre. Entre as principais contribuições desta tese está uma análise detalhada, em relação ao comportamento, valores e estudos de caso, de 15 métricas de código-fonte, o que representa um avanço em comparação a literatura relacionada ao ampliar o número de métricas avaliadas e propor uma abordagem que visa diminuir as contradições das análises das métricas. / In this Ph.D dissertation we present an approach about source code metrics tracking. We have researched source code metrics distributions and associations to discuss their causality and management-practices implications. Our studies have assessed distributions and correlations of source code metric values on 38 free software projects, which have a lot of activated contributors in their repositories. We have collected and analyzed metrics from 344,872 classes and modules of about 38 free software projects. Additionally, to show how it is useful to track source code metrics, we have extended the model of free software attractiveness to include source code metrics. Our technical attractiveness model indicates a statistical relationship between source code metrics and number of downloads, contributors, and commits in the analyzed free software repositories. For that, we have conducted empirical studies with 8,450 free software projects. From a practical point of view, we have contributed with a set of innovative tools for automated evaluation of free software projects. Our tool allow the analyses of source code metrics that mirror quality perceptions from the free software communities point of view.
27

[en] A QUANTITATIVE APPROACH TO ASPECT ORIENTED SOFTWARE DEVELOPMENT / [pt] UMA ABORDAGEM QUANTITATIVA PARA DESENVOLVIMENTO DE SOFTWARE ORIENTADO A ASPECTOS

EDUARDO MAGNO LAGES FIGUEIREDO 05 July 2006 (has links)
[pt] O desenvolvimento de software orientado a aspectos é um paradigma recente que introduz novas abstrações e mecanismos com o objetivo de melhorar a modularidade de interesses que se espalham pelo sistema. Entretanto, a satisfação de atributos de qualidade em sistemas orientados a aspectos não é tarefa simples e a utilização equivocada destas novas abstrações pode resultar em efeitos colaterais relacionados a princípios importantes da Engenharia de Software, tais como elevado acoplamento, baixa coesão dos módulos e incompleta modularidade dos interesses em aspectos. Problemas como estes não são facilmente verificáveis em sistemas de médio e grande porte sem um método adequado e, geralmente, consomem muito tempo e recursos. Portanto, torna-se necessário um método de avaliação que auxilie engenheiros de software na análise de sistemas orientados a aspectos. Este trabalho de mestrado propõe uma abordagem que provê suporte à avaliação quantitativa de implementações orientadas a aspectos. A abordagem incluiu: (i) um método de avaliação organizado em etapas, e (ii) uma ferramenta de medição e avaliação, chamada AJATO, que dá suporte ao método proposto. O método é composto por um conjunto de métricas e regras heurísticas. As métricas fornecem informações quantitativas e as heurísticas contribuem com algum raciocínio semântico dos números. A ferramenta AJATO é composta por quatro módulos que efetuam o parser do código, mapeamento de estruturas sintáticas em interesses, medição e avaliação heurística. Um conjunto de cinco estudos de caso envolvendo domínios de aplicação distintos foi realizado para avaliar a utilidade e usabilidade da abordagem proposta. / [en] Aspect-oriented software development is an emerging paradigm that provides new abstractions and mechanisms to support the modularization of crosscutting concerns through the software development lifecycle. However, the achievement of high-quality aspect-oriented software is not trivial. The inappropriate use of aspect-oriented abstractions and mechanisms potentially leads to the violation of important design principles, such as low coupling, high cohesion, incomplete modularization of crosscutting concerns into aspects, and so forth. These problems are not easily detectable and an ad hoc analysis of large designs and implementations is often expensive and time- consuming. Hence there is a need for an assessment method that assists software engineers in the analysis of their aspect-oriented implementations. This work proposes the development of a systematic approach to support the quantitative assessment of aspect-oriented software. The approach is organized in a stepwise fashion and is founded on a metrics suite and a comprehensive set of complementary rules. Our proposal is supported by a measurement and assessment tool. A set of five case studies from different application domains have been carried out in order to evaluate the usability and usefulness of our proposed approach.
28

Evidências sobre o uso de técnicas de geração automática de dados de teste em programas concorrentes / Evidences about the use of automatic test data generation techniques in context of concurrent programs

Vilela, Ricardo Ferreira 01 August 2016 (has links)
Diversas pesquisas apoiam e investigam o teste de programas concorrentes, as quais objetivam, principalmente, a proposição de critérios de teste e mecanismos para execução das diferentes sincronizações entre processos ou threads. As características específicas dessas aplicações podem ocasionar diferentes tipos de defeitos, os quais, em sua maioria, não são facilmente identificados. Nesse contexto, a geração automática de dados de teste pode apoiar a atividade de teste atuando na seleção de entradas mais representativas, ou seja, aquelas com maior probabilidade de revelar defeitos. Apesar disso, poucas pesquisas abordam este tema no contexto de programas concorrentes, e as existentes não consideram aspectos importantes desse tipo de aplicação. A geração de dados de teste para programas sequenciais dispõe de uma variedade de técnicas que apoiam a seleção dos dados de teste. Essas técnicas têm sido estendidas para o contexto de programas concorrentes partindo da premissa que esses programas necessitam de abordagens mais complexas para seleção de entradas, em decorrência disso um maior custo é imposto ao teste. Considerando esse contexto, uma lacuna ainda em aberto é a avaliação das técnicas para o cenário de programas concorrentes. Neste trabalho a avaliação das técnicas foi explorada por meio da realização de estudos experimentais, os quais avaliaram diferentes técnicas de geração de dados de teste para o contexto de programas concorrentes, considerando a eficácia em revelar defeitos, cobertura de critérios e custo para atividade de teste. Os resultados obtidos demonstraram que as técnicas empregadas para programas sequenciais não atingem o mínimo esperado para este tipo aplicação. Apesar disso, as técnicas investigadas apresentaram características importantes que podem auxiliar a atividade de teste para programas concorrentes e a proposição de abordagens efetivas de geração de dados para esse contexto. / The concurrent program testing has been largely investigated with propositions of testing criteria and mechanisms, which aim mainly to testing criteria proposition and mechanisms for execution of different synchronizations. The specific characteristics of these applications can lead to the different types of faults, which, in most of cases, are not easily identified. In this context, the automatic test data generation can support the testing activity acting in selecting the most representative data tests, i.e. those most likely to reveal faults. Nevertheless, few studies address this issue in the context of concurrent programs, and the these studies do not consider important aspects of this type of application. In contrast, we can find several techniques proposed to support the test data generation for sequential programs. These techniques have been extended to the context of concurrent programs on the premise that these programs require more complex approaches for selection of test data. As a result, a greater cost for testing activity is enforced. Considering this context, a gap still open is the evaluation of techniques for the scenario of concurrent programs. In this work the evaluation of techniques was explored through experimental studies, which different techniques of test data generatoon were evaluated, considering effectiveness, testing coverage and application cost. The results showed that the generation techniques used for sequential programs used in the experimental study do not reach the minimum expected in terms of effectiveness and cost for concurrent programs. Nevertheless, the techniques investigated showed significant features that can help the proposition of effective approaches for test data generation applied to concurrent programs.
29

Execução paralela de programas como suporte ao teste de mutação / Parallel execution of programs as support for mutation testing

Andrade, Stevão Alves de 08 April 2016 (has links)
Teste de software desempenha um papel fundamental no processo de produção de um produto de software de qualidade. Com o passar dos anos, diversas técnicas e critérios de teste de software foram desenvolvidos a fim de estabelecer meios e métricas para guiar a criação de casos de teste efetivos, capazes de evidenciar defeitos no produto avaliado. Dentre os principais critérios para teste de software está o Teste de Mutação, que foi amplamente difundido e é tido como uma das abordagens mais eficazes para guiar a criação de conjuntos de casos de teste capazes de revelar defeitos em software. Entretanto, à medida que esse critério possui uma grande efetividade para revelar defeitos, ele peca pelo baixo poder de escalabilidade, o que acaba comprometendo diretamente a sua capacidade de aplicação. Neste sentido, diversos estudos foram desenvolvidos nesta área dedicando-se a aprimorar o seu desempenho e torná-lo uma alternativa viável para aplicação durante a fase de teste de software. Este trabalho apresenta indícios de que a utilização de estruturas complexas de processamento pode apoiar a aplicação do Teste de Mutação. Para tal, foi concebida uma arquitetura que possibilite a aplicação do Teste de Mutação em paralelo. Após a implementação da arquitetura foram avaliados cinco algoritmos de balanceamento de carga responsáveis por controlar a distribuição e execução do Teste de Mutação. Durante a avaliação experimental da arquitetura e dos algoritmos, observou-se que nos piores cenários avaliados foi possível atingir um ganho de desempenho acima de 70% em relação à aplicação sequencial convencional do Teste de Mutação enquanto nos melhores cenários o ganho de desempenho foi acima 95%, contudo, necessitando utilizar-se de uma infraestrutura mais robusta para a execução da arquitetura. / Software testing plays a fundamental role in the development process of quality software systems. Over the years, many software testing techniques and criteria were developed to provide means and metrics to guide the development of effective test cases, able to find defects on the product being assessed. Among major criteria for software testing is the mutation testing, which was broadly broadcast and is likely one of the most effective approaches for creating sets of test cases able to uncover software bugs. However, although mutating testing has a great effectiveness to uncover defects in a product, it suffers from low scalability, which directly compromises its applicability. In this sense, many studies were developed in this area aiming at improving the performance of that criterion and make it a viable alternative for its application throughout the software testing process. This work presents evidence that the use of complex structures of processing can support mutation testing application. For this, it was established an architecture that enables mutation testing to be performed in parallel. After implementing the architecture, five load balance algorithms to controlling the distribution and execution of mutation testing were analyzed. During the experimental evaluation of the architecture and algorithms, it was observed that in the worst evaluated scenarios it was possible to reach a gain in performance of up to 70% in comparison to the conventional application (sequential). In the best scenarios the gain was over 95% in exchange of using a more robust infrastructure for the execution of the architecture.
30

[en] FROM OBJECTS TO AGENTS: AN ASPECT ORIENTED APPROACH / [pt] OBJETOS E AGENTES: UMA ABORDAGEM ORIENTADA A ASPECTOS

ALESSANDRO FABRICIO GARCIA 13 July 2004 (has links)
[pt] Agentes de software incorporam várias propriedades específicas, como autonomia, adaptação, interação, aprendizagem e mobilidade. A inclusão dessas propriedades de agência é uma das maiores fontes de complexidade na construção de sistemas multiagentes. Dificilmente elas são modularizadas com abstrações e mecanismos da engenharia de software orientada a objetos. À medida que a complexidade da arquitetura interna dos agentes aumenta, essas propriedades tendem a se espalhar através dos vários módulos ou objetos do sistema. O espalhamento é observado desde fases preliminares de desenvolvimento, como a fase de definição arquitetural. O uso de abstrações e mecanismos existentes conduz ao projeto e à implementação de sistemas multiagentes que são difíceis de manter e reutilizar. Este trabalho apresenta uma abordagem orientada a aspectos para o desenvolvimento de sistemas baseados em agentes. A abordagem provê suporte para modularização e composição das propriedades de agência por meio de abstrações e mecanismos do paradigma orientado a aspectos. Além disso, tais propriedades são incorporadas de forma transparente à funcionalidade básica do sistema de software, desde a fase de definição arquitetural. A abordagem compreende três componentes: (i) um método arquitetural, (ii) uma linguagem de padrões e (iii) um framework para avaliação quantitativa. O método e a linguagem apresentam um conjunto de soluções orientadas a aspectos para a definição arquitetural, projeto e implementação de agentes de software. O framework define um conjunto de métricas e um modelo de qualidade que permite a avaliação empírica da nossa abordagem em termos de reusabilidade e manutenibilidade. Estudos experimentais qualitativos e quantitativos foram realizados para avaliar nossa proposta em diferentes domínios de aplicação. Os resultados empíricos concluíram que nossa abordagem permite a construção de sistemas baseados em agentes com modularização superior, menor acomplamento, menos linhas de código e menor complexidade interna dos componentes. / [en] Software engineers of Multi-Agent Systems (MASs) are faced with different concerns (properties), such as autonomy, adaptation, interaction, collaboration, learning, and mobility. Many of these agent concerns cannot be modularized based only on object-oriented abstractions. MAS developers however have relied mostly on objectoriented design techniques and on object-oriented programming languages, such as Java. As the agent complexity increases, the agent concerns tend to spread across several system components at the architectural, design and implementation levels. It often leads to a poor separation of agent concerns in the software system, and in turn to the production of MASs that are difficult to maintain and reuse. This thesis presents an innovative aspect-oriented approach for the seamless integration of agents into object-oriented software engineering from the architectural stage to the implementation stage. Aspect is the abstraction used to modularize agent concerns that crosscut several system components. The proposed approach encourages the separate handling of agent properties, and provides a disciplined scheme for their composition. The approach is composed of an architectural method, a pattern language, and an assessment framework. The architectural method and the pattern language provide aspect-oriented solutions for modularizing the agent concerns at different stages of design and implementation. The purpose of the assessment framework is to support the evaluation of the reusability and maintainability of aspect-oriented solutions based on a metrics suite and a quality model. Experimental studies in different application domains have been conducted to assess the proposed approach based on qualitative and quantitative criteria. The use of the aspect-oriented solutions resulted in fewer lines of code, fewer design and implementation components, lower internal complexity of system components, and lower coupling.

Page generated in 0.52 seconds