• Refine Query
  • Source
  • Publication year
  • to
  • Language
  • 106
  • 76
  • 13
  • 8
  • 4
  • 3
  • 2
  • 2
  • 1
  • 1
  • 1
  • 1
  • 1
  • 1
  • Tagged with
  • 252
  • 252
  • 81
  • 80
  • 65
  • 44
  • 39
  • 37
  • 37
  • 36
  • 34
  • 31
  • 28
  • 27
  • 26
  • 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.
91

O impacto do cmm / cmmi na qualidade do software: um estudo sobre a percepção dos profissionais de tic

Sousa, Sandra Cristina Catarino January 2009 (has links)
p. 1 - 119 / Submitted by Santiago Fabio (fabio.ssantiago@hotmail.com) on 2013-01-16T21:07:26Z No. of bitstreams: 1 ddddddd88.pdf: 358295 bytes, checksum: 08b0fc127bbc330b70652af8ce82b292 (MD5) / Made available in DSpace on 2013-01-16T21:07:26Z (GMT). No. of bitstreams: 1 ddddddd88.pdf: 358295 bytes, checksum: 08b0fc127bbc330b70652af8ce82b292 (MD5) Previous issue date: 2009 / Diante de diversos estudos que relacionam a qualidade do software à qualidade do processo que o gera e da crescente pressão do mercado de TIC (Tecnologia da Informação e Comunicação) pela criação de produtos qualidade com prazos e custos cada vez menores, as empresas produtoras de software passaram a investir na utilização de processos no desenvolvimento de softwares. Diversos padrões e modelos de qualidade foram criados e difundidos com foco na definição de processos, dentre eles os modelos de maturidade da capacidade CMM (Capability Maturity Model) e CMMI (Capability Maturity Model Integration), criados pelo SEI (Software Engineering Institute), que tiveram uma grande aceitação mundial. Em face desta realidade, a SUNAC/SDR (Superintendência de Negócio, Administração Tributária e Comércio Exterior/Salvador), regional do SERPRO (Serviço Federal de Processamento de Dados), conquistou em 2003 o nível dois do CMM e desde então trabalha no aperfeiçoamento do processo de desenvolvimento de software para atingir níveis superiores do modelo CMMI. A presente pesquisa explicita a percepção dos profissionais da SUNAC/SDR, que trabalharam nesta unidade no intervalo de ]2003 - 2008], sobre como a utilização dos modelos CMM / CMMI afeta a qualidade dos produtos gerados ao longo do ciclo de vida de desenvolvimento de software. Verificou-se que os profissionais perceberam a importância de utilizar um processo de desenvolvimento para a melhoria dos produtos gerados. Além disso, perceberam que houve melhoria nos produtos desenvolvidos por eles e também no produto final entregue ao cliente após a implantação do processo. / Salvador
92

Inappropriate Software Changes: Rejection and Rework

Souza, Rodrigo Rocha Gomes e 17 July 2015 (has links)
Submitted by Rodrigo Souza (rodrigorgs@gmail.com) on 2015-08-10T11:52:14Z No. of bitstreams: 1 rodrigo-thesis-final.pdf: 3966742 bytes, checksum: a3ca54b041cfdc2f5dad0f568b6d3a61 (MD5) / Made available in DSpace on 2015-08-10T11:52:14Z (GMT). No. of bitstreams: 1 rodrigo-thesis-final.pdf: 3966742 bytes, checksum: a3ca54b041cfdc2f5dad0f568b6d3a61 (MD5) / Introdução: A escrita de mudanças no código-fonte para corrigir defeitos ou implementar novas funcionalidades é uma tarefa importante no desenvolvimento de software, uma vez que contribui para evoluir um sistema de software. Nem todas as mudanças, no entanto, são aceitas na primeira tentativa. Mudanças inadequadas podem ser rejeitadas por causa de problemas encontrados durante a revisão de código, durante o teste automatizado, ou durante o teste manual, possivelmente resultando em retrabalho. Nosso objetivo é entender melhor a associação estatística entre diferentes tipos de rejeição --- revisões de código negativas, commits suplementares, reversão de commits e reabertura de tíquetes ---, caracterizar seus impactos em um projeto e entender como elas são afetadas por certas mudanças de processo. Para este fim, esta tese apresenta uma análise de três grandes projetos de software livre desenvolvidos pela Mozilla Foundation, os quais sofreram mudanças significativas no seu processo, como a adoção de lançamentos frequentes. Métodos: Para perseguir nosso objetivo, nos baseamos em tíquetes e commits de um período de mais de quatro anos do histórico dos projetos. Computamos métricas sobre a ocorrência de diversos tipos de rejeição de mudanças e medimos o tempo que leva tanto para submeter uma mudança quanto para rejeitar mudanças inapropriadas. Além disso, validamos nossos resultados com desenvolvedores da Mozilla. Resultados: Descobrimos que técnicas usadas em estudos anteriores para detectar mudanças inadequadas são imprecisas; por isso, propusemos uma técnica alternativa. Determinamos que mudanças inadequadas são um problema relevante e diário, que afeta cerca de 18% de todos os tíquetes em um projeto. Também descobrimos que, quando a Mozilla adotou lançamentos frequentes, embora a proporção de commits revertidos tenha aumentado, as reversões foram realizadas mais cedo no processo. / Background: Writing source code changes to fix bugs or implement new features is an important software development task, as it contributes to evolve a software system. Not all changes are accepted in the first attempt, though. Inappropriate changes can be rejected because of problems found during code review, automated testing, or manual testing, possibly resulting in rework. Our objective is to better understand the statistical association between different types of rejection---negative code reviews, supplementary commits, reverts, and issue reopening---to characterize their impacts within a project, and to understand how they are affected by certain process changes. To this end, this thesis presents an analysis of three large open source projects developed by the Mozilla Foundation, which underwent significant changes in their process, such as the adoption of rapid releases. Methods: To pursue our objective, we analyzed issues and source code commits from over four years of the projects' history. We computed metrics on the occurrence of multiple types of change rejection and measured the time it takes both to submit a change and to reject inappropriate changes. Furthermore, we validated our findings by discussing them with Mozilla developers. Results: We found that techniques used in previous studies to detect inappropriate changes are imprecise; because of that, we proposed an alternative technique. We determined that inappropriate changes are a relevant, daily problem, that affects about 18% of all issues in a project. We also discovered that, under rapid releases, although the proportion of reverted commits at Mozilla increased, the reverts were performed earlier in the process.
93

A practical approach to implementing Continuous Delivery : A case study at the Swedish Board of Agriculture / Ett praktiskt tillvägagångssätt för att införa Continuous Delivery.

Karlsson, Johan January 2018 (has links)
This thesis has been carried out at the Swedish Board of Agriculture. The client wants to orientate towards a development environment and architecture that allows for more frequent software deliveries than in the current situation, to increase the business benefits of the development work carried out. The purpose of this thesis is to develop a process to iteratively move towards an architecture and development environment that enable Continuous Delivery. Continuous delivery aims to a very high extent to treat a developer's code as part of a potential release candidate. This in turn causes high demands on being able to secure the reliability of both the infrastructure and the individual developers’ contributions. The work has been carried out in cooperation with developers, infrastructure engineers, architects and team leaders on The Swedish Board of Agriculture. Theories have been tested within the IT organization to ensure their reliability and applicability in the organization. A process has been developed with the limitation that it has not been tested in a production environment because of the limited timeframe available. However, it has been demonstrated that the process is feasible for the systems that acted as the main testing candidates during the thesis. / Detta examensarbete har utförts vid Statens Jordbruksverk. Uppdragsgivaren önskar att orientera sig mer mot en utvecklingsmiljö och arkitektur som möjliggör tätare leveranser än i dagsläget, för att öka verksamhetsnyttan av det utvecklingsarbete som genomförs. Syftet med detta examensarbete är att ta fram en process för att iterativt kunna gå mot en arkitektur som möjliggör för Continuous Delivery, eller kontinuerlig leverans. Kontinuerlig leverans syftar till att i mycket hög mån behandla en utvecklares kod som en del av en potentiell releasekandidat. Detta för i sin tur med sig höga krav på att kunna säkra tillförlitligheten av både infrastruktur samt den individuelle utvecklarens bidrag. Arbetet har utförts i samarbete med utvecklare, infrastrukturtekniker, arkitekter samt teamledare på Jordbruksverket. Teorier har testats inom IT-organisationen för att se dess tillförlitlighet samt tillämplighet på just Jordbruksverkets organisation. Arbetet påvisar att det är möjligt att dela upp monolitiska system och gå närmare något som liknar kontinuerlig leverans, utan att behöva genomföra stora förändringar inom organisationen. En process har tagits fram med begräsning att den inte testats i produktionsmiljö på grund av tidsbrist. Det har dock påvisats att processen är gångbar för det system som varit testkandidat genom arbetets gång.
94

Qualidade de software no desenvolvimento com métodos ágeis / Software quality on agile development

Bruno Henrique Oliveira 25 April 2014 (has links)
A Engenharia de Software é uma disciplina que tem entre seus objetivos melhorar a produtividade dos processos de desenvolvimento de software, assim como propiciar qualidade ao produto resultante desses processos. Para mensurar a qualidade dos produtos de software, foram criados modelos de qualidade, que recomendam métricas, processos e atividades que passaram a se tornar parte do dia-a-dia do desenvolvimento de projetos em empresas. Considerando outra perspectiva, a indústria de software tem adotado cada vez mais os métodos ágeis. Esses métodos foram desenvolvidos visando a entrega rápida do software, com ciclos curtos e adaptáveis de desenvolvimento, foco na comunicação direta e baixo volume de documentação. Considerando a importância do tema qualidade de software, e a baixa aderência dos modelos tradicionais de qualidade aos métodos ágeis, o objetivo deste projeto foi investigar o tema qualidade de software no contexto ágil, ou seja, estudar quais métricas de qualidade são empregadas nesse processo de desenvolvimento. Para isso foram realizados dois estudos empíricos, um estudo de caso e um survey, sobre atividades de garantia e controle de qualidade, métricas de qualidade de software, processos e ferramentas utilizadas no desenvolvimento de software. Os resultados obtidos guiaram a construção de uma ferramenta de apoio para avaliação da qualidade durante o desenvolvimento ágil de software. Os resultados dos estudos mostraram que a execução constante de atividades como revisão de código e refatoração, são fatores essenciais para garantia de qualidade nos métodos ágeis. Outro resultado encontrado foi o de que praticantes de métodos ágeis são entusiastas do processo de desenvolvimento utilizado. Eles conhecem o método e praticam com alta fidelidade os passos definidos pelo processo. É possível concluir que os métodos ágeis possuem diversas atividades como foco na garantia de qualidade de seu produto desde os estágios iniciais do desenvolvimento. A cultura ágil cria um ambiente propício para motivação e engajamento das equipes de desenvolvimento, fato que reflete positivamente na qualidade final dos produtos / One of the main objectives of Software Engineering is to improve the productivity of software development processes, as well as providing quality to the product resulting from such processes. Thus, quality models were defined to measure the software quality. Those models recommend metrics, processes and activities that became part of day-to-day on development companies. Considering another perspective, the software industry has increasingly adopted agile methods. These methods were developed considering rapid software delivery, with short and adaptable development cycles, focusing on direct communication and low volume of documentation. Considering the importance of software quality and the low compliance of agile methods to traditional quality models, this project aimed to investigate software quality in agile development environments, in other words, to research wich quality metrics are employed in these development processes. Considering this objective, two empirical studies were designed, a case study and a survey. These studies have explored themes like software quality control, software quality assurance, quality metrics, development process and development tools that are employed on software development. The results guided the construction of a tool to support the quality evaluation during the agile development. The studies results showed that the high frequency of activities such as code review and refactoring, are essential factors for assuring quality on projects using agile methods. Another result was found regarding developers behavior. Agile practitioners are enthusiasts of the development process they use. They have a high level of compliance to development process they use. It is possible to conclude that agile methods have several activities focused on the quality assurance of its own products since the initial stages of development. The agile culture creates a convenient environment that engages and motivates the development teams. This fact has a positive effect on the product quality
95

PROREQ - Um guia facilitador para a implantação dos processos de gestão de requisitos / PROREQ - a facilitator guide to implement requirement process

Alfraino de Souza Diniz 11 July 2007 (has links)
Os processos de gestão de requisitos têm influência direta na concepção do produto final e estão diretamente relacionados com a satisfação do cliente, pois é neles que se define o que o cliente espera do software. Seus produtos servem de base para os processos executados posteriormente e, portanto, a probabilidade de ocorrer falhas é maior caso haja falhas durante a elaboração dos requisitos do software. No entanto, tem-se observado que esses processos são uma das maiores fontes de problemas encontrados no desenvolvimento de software. Com o intuito de sistematizar os processos de desenvolvimento de software, a fim de se evitar prejuízos para as organizações desenvolvedoras e insatisfação para os adquirentes dos produtos desenvolvidos, surgiram os modelos para a melhoria de processo de desenvolvimento de software, tais como o Capability Matutity Model Integration - Development (CMMI-Dev). Esses modelos atuam como guias para a melhoria contínua dos processos de desenvolvimento das organizações. Entretanto, o nível de abstração dos modelos nem sempre é suficientemente específico para orientar colaboradores de organizações não familiarizados com o corpo de conhecimento da engenharia de software. Outro aspecto que dificulta a utilização de tais modelos é o financeiro, pois a implantação de tais melhorias apresenta alto custo, podendo ser inviável para organizações de pequeno e médio porte. Este trabalho apresenta um guia, denominado PROREQ, cujo objetivo é facilitar a implantação de melhorias nos processos de requisitos de pequenas organizações. É composto por um conjunto de boas práticas classificadas segundo a estrutura de organização das áreas de processo Desenvolvimento e Gerenciamento de requisitos do CMMI-Dev; uma estratégia de implantação, baseada na estratégia da norma ISO/IEC 15504 e em um conjunto de práticas retiradas de trabalhos empíricos relacionados à melhoria de processos de software; e um modelo de avaliação, baseado na norma ISO/IEC 15504 e no método de avaliação do modelo de melhoria de processo de software brasileiro (MPS.BR). Ao final é descrito um estudo de caso que apresenta os resultados da aplicação do guia PROREQ em uma pequena organização desenvolvedora de software / Requirements management processes have a great impact on the final product conception and are directly related to customers\' satisfaction, as the expected behavior of the software is defined during them. Their products serve as a basis for the processes executed subsequently and, thus, the probability of failure is higher when faults occur during the elaboration of the software requirements. However, it has been observed that these processes are one of the richest sources of problems found during software development. This motivated the appearance of models for improving software development processes, such as the Capability Matutity Model Integration - Development (CMMI-Dev), which act as guides for continuously improving the organization development processes. Nevertheless, the abstraction level of the models is not always specific enough to guide the organization collaborators that are not familiar with the software engineering body of knowledge. Financial aspects also make the utilization of these models more difficult, because to deploy these improvements is often expensive and can be unfeasible for small and medium organizations. This work presents a guide, named PROREQ, whose main goal is to ease the deployment of improvements in the requirements processes of small organizations. It is composed of: a set of good practices classified according to the organization structure of CMMI-Dev process areas Requirements Development and Management; a deployment strategy, based on ISO/IEC 15504 strategy and on a set of practices coming from empirical works related to software process improvement; and an evaluation model based on ISO/IEC 15504 and on the evaluation method of the Brazilian software process improvement method (MPS.BR). A case study is described to present the results of applying the PROREQ guide in a small software development organization
96

Fundamentação teorica das metricas de software / Fundamentals of software metrics theory

Tiago, Adriano Garcia 24 February 2006 (has links)
Orientadores: Ana Cervigni Guerra, Luiz Eduardo Buzato / Dissertação (mestrado profissional) - Universidade Estadual de Campinas, Instituto de Computação / Made available in DSpace on 2018-08-07T01:22:59Z (GMT). No. of bitstreams: 1 Tiago_AdrianoGarcia_M.pdf: 2213856 bytes, checksum: 37d26d4b397473ca137d67efbc23e673 (MD5) Previous issue date: 2006 / Resumo: Avaliar produtos de software constitui uma atividade em que a demanda cresce significativamente, pois os usuários exigem cada vez mais por qualidade, eficiência, eficácia. Modelos e Métodos de avaliação da qualidade de processos e produtos de software têm se firmado como um valioso auxílio à obtenção de produtos de software com qualidade aprimorada e mais confiáveis. Para essa avaliação constitui fundamental ferramenta a medição dos artefatos e processos que envolvem o desenvolvimento de produtos de software. As características do processo de desenvolvimento de software dependem de um gerenciamento efetivo, baseado em um plano de projeto definido com base em estimativas mais precisas. Por meio do presente estudo, pesquisas sobre tamanho e estimativas de complexidade para sistemas de software são o foco na fundamentação das bases da Engenharia de Software. Descreve-se aqui, conceitos importantes para o entendimento da base fundamental para uso de métricas. Uma Metodologia para Métricas de Qualidade de Software, baseadas no trabalho da ISO/IEC esta descrito e pretende interpretar a nova norma ISO/IEC 9126-2. Contribui para os esforços para a melhoria da qualidade de software e melhoria na execução do processo de medição, utilizando-se como primeiro passo o presente trabalho. O resultado desse trabalho é uma compilação em relação aos benefícios do uso de métricas à sua implementação no processo de desenvolvimento de software, considerando-se os aspectos tecnológicos, humanos e econômicos envolvidos em cada tópico abordado ao longo do trabalho. / Abstract: Not informed. / Mestrado / Engenharia de Software / Mestre Profissional em Computação
97

A utilização de uma metodologia de teste no processo de melhoria da qualidade de software / The utilization of a test methodology in the process of improvement of software quality

Bruneli, Marcos Valerio de Queiroz 22 February 2006 (has links)
Orientador: Eliane Martins / Dissertação (mestrado profissional) - Universidade Estadual de Campinas, Instituto de Computação / Made available in DSpace on 2018-08-09T15:07:52Z (GMT). No. of bitstreams: 1 Bruneli_MarcosValeriodeQueiroz_M.pdf: 608506 bytes, checksum: 6572ebb9ad810b6cc4d705fbaad9507f (MD5) Previous issue date: 2006 / Resumo: O processo de teste de software é normalmente postergado para o final do desenvolvimento, após a codificação concluída. Devido a isto, problemas como falta de tempo para planejamento, testes incompletos, falta de recursos e tempo adequado são fatos corriqueiros na atividade de testes das empresas que não possuem um processo de teste estruturado com documentos e regras bem definidas. Este trabalho apresenta um processo de teste de software, onde a atividade de teste começa tão logo a atividade de desenvolvimento se inicia e caminha em paralelo com o ciclo tradicional de desenvolvimento. Esta abordagem permite detectar e prevenir erros através do processo de desenvolvimento, conduzindo para uma maior confiança e qualidade do software. Um estudo de caso é apresentado para ilustrar a aplicabilidade do método e os resultados obtidos / Abstract: The process of software testing is usually postponed to the end of the development life cycle, after the coding phase. For this reason, problems like lack of time for test planning, incomplete tests, lack of resources and schedule are frequent issues in the activity of software testing in companies where there is not a structured software testing process with well defined documents and rules. This work present a software testing process where the test activity starts along with software development and continues during the traditional development cycle. This approach allows us to detect and prevent bugs through of the software development cycle, which leads to a higher confidence and quality of the software. A case study has been developed to illustrate the applicability of the method and show the results obtained. / Mestrado / Engenharia de Software / Mestre em Ciência da Computação
98

Web due: uma técnica de inspeção de usabilidade de mockups de aplicações web guiada por zonas próprias de páginas Web / Web due: a usability inspection technique for mockups of web applications that guides inspectors through web page zones.

Cabrejos, Luis Jorge Enrique Rivero 20 March 2013 (has links)
Made available in DSpace on 2015-04-11T14:03:02Z (GMT). No. of bitstreams: 1 Luis Jorge Enrique Rivero Cabrejos.pdf: 6587426 bytes, checksum: 089733fd8799984279076721cca2ad48 (MD5) Previous issue date: 2013-03-20 / Coordenação de Aperfeiçoamento de Pessoal de Nível Superior / CAPES - Coordenação de Aperfeiçoamento de Pessoal de Nível Superior / Despite the increasing number of usability inspection methods for Web applications, most of these methods are being applied in later stages of the development process, which increases the cost of correcting the identified problems. This master degree thesis presents the Web Design Usability Evaluation (Web DUE) technique, a technique that was specifically crafted for the usability inspection of paper based prototypes (or mockups). The Web DUE technique aims at aiding inspectors in the identification of usability problems in earlier stages of the development process, thus reducing the cost of correcting them. To achieve this goal, the Web DUE technique suggests to divide mockups into Web page zones and, using a set of usability verification items, to check if the interface is usable or presents usability problems. To simulate interaction between the mockups and the user, and to support usability problems detection, we created the Mockup DUE tool. Both, the creation of the Web DUE technique and Mockup DUE tool, were supported by empirical validation. In this dissertation we present: (a) how we created the Web DUE technique based on the analysis of the results of a systematic mapping extension; (b) the feasibility study of the technique; (c) how the results from the empirical study helped in the creation of the Mockup DUE tool; (d) the feasibility study of the Mockup DUE tool; and (e) the evolution of the proposed technologies for the inspection of Web mockups. / Apesar do aumento do número de métodos de inspeção de usabilidade de aplicações Web, a maioria destes métodos só é aplicada nas últimas etapas do processo de desenvolvimento, aumentando o custo de correção dos problemas encontrados. Esta dissertação de mestrado apresenta a técnica Web Design Usability Evaluation (Web DUE), uma técnica específica para inspeções de usabilidade de protótipos em papel (ou mockups). A técnica Web DUE tem por finalidade apoiar os inspetores na identificação de problemas de usabilidade durante as primeiras etapas do processo de desenvolvimento, visando assim à redução dos custos de correção dos mesmos. Para atingir esse objetivo, a técnica Web DUE sugere a divisão dos mockups em zonas de páginas Web e a avaliação de usabilidade dos mesmos com base em um conjunto de itens de verificação. Para simular a interação entre os mockups e o usuário e apoiar a detecção de defeitos de usabilidade, foi criada a ferramenta Mockup DUE. Tanto a técnica Web DUE quanto a ferramenta Mockup DUE tiveram sua construção e avaliação apoiada por experimentação. Esta dissertação apresenta: (a) como a técnica Web DUE foi elaborada com base na análise da extensão de um mapeamento sistemático; (b) o estudo de viabilidade da técnica Web DUE; (c) a criação da ferramenta Mockup DUE com base nos resultados do primeiro estudo de viabilidade da técnica; (d) o estudo de viabilidade da ferramenta Mockup DUE; e (e) a evolução das tecnologias propostas para a inspeção de mockups de aplicações Web.
99

Ranking source code static analysis warnings for continuous monitoring of free/libre/open source software repositories / Ranqueamento de avisos de análise estática de código fonte para monitoramento de repositórios de software livre

Athos Coimbra Ribeiro 22 June 2018 (has links)
While there is a wide variety of both open source and proprietary source code static analyzers available in the market, each of them usually performs better in a small set of problems, making it hard to choose one single tool to rely on when examining a program. Combining the analysis of different tools may reduce the number of false negatives, but yields a corresponding increase in the number of false positives (which is already high for many tools). An interesting solution, then, is to filter these results to identify the issues least likely to be false positives. This work presents kiskadee, a system to support the usage of static analysis during software development by providing carefully ranked static analysis reports. First, it runs multiple static analyzers on the source code. Then, using a classification model, the potential bugs detected by the static analyzers are ranked based on their importance, with critical flaws ranked first, and potential false positives ranked last. To train kiskadee\'s classification model, we post-analyze the reports generated by three tools on synthetic test cases provided by the US National Institute of Standards and Technology. To make our technique as general as possible, we limit our data to the reports themselves, excluding other information such as change histories or code metrics. The features extracted from these reports are used to train a set of decision trees using AdaBoost to create a stronger classifier, achieving 0.8 classification accuracy (the combined false positive rate from the used tools was 0.61). Finally, we use this classifier to rank static analyzer alarms based on the probability of a given alarm being an actual bug. Our experimental results show that, on average, when inspecting warnings ranked by kiskadee, one hits 5.2 times less false positives before each bug than when using a randomly sorted warning list. / Embora exista grande variedade de analisadores estáticos de código-fonte disponíveis no mercado, tanto com licenças proprietárias, quanto com licenças livres, cada uma dessas ferramentas mostra melhor desempenho em um pequeno conjunto de problemas distinto, dificultando a escolha de uma única ferramenta de análise estática para analisar um programa. A combinação das análises de diferentes ferramentas pode reduzir o número de falsos negativos, mas gera um aumento no número de falsos positivos (que já é alto para muitas dessas ferramentas). Uma solução interessante é filtrar esses resultados para identificar os problemas com menores probabilidades de serem falsos positivos. Este trabalho apresenta kiskadee, um sistema para promover o uso da análise estática de código fonte durante o ciclo de desenvolvimento de software provendo relatórios de análise estática ranqueados. Primeiramente, kiskadee roda diversos analisadores estáticos no código-fonte. Em seguida, utilizando um modelo de classificação, os potenciais bugs detectados pelos analisadores estáticos são ranqueados conforme sua importância, onde defeitos críticos são colocados no topo de uma lista, e potenciais falsos positivos, ao fim da mesma lista. Para treinar o modelo de classificação do kiskadee, realizamos uma pós-análise nos relatórios gerados por três analisadores estáticos ao analisarem casos de teste sintéticos disponibilizados pelo National Institute of Standards and Technology (NIST) dos Estados Unidos. Para tornar a técnica apresentada o mais genérica possível, limitamos nossos dados às informações contidas nos relatórios de análise estática das três ferramentas, não utilizando outras informações, como históricos de mudança ou métricas extraídas do código-fonte dos programas inspecionados. As características extraídas desses relatórios foram utilizadas para treinar um conjunto de árvores de decisão utilizando o algoritmo AdaBoost para gerar um classificador mais forte, atingindo uma acurácia de classificação de 0,8 (a taxa de falsos positivos das ferramentas utilizadas foi de 0,61, quando combinadas). Finalmente, utilizamos esse classificador para ranquear os alarmes dos analisadores estáticos nos baseando na probabilidade de um dado alarme ser de fato um bug no código-fonte. Resultados experimentais mostram que, em média, quando inspecionando alarmes ranqueados pelo kiskadee, encontram-se 5,2 vezes menos falsos positivos antes de se encontrar cada bug quando a mesma inspeção é realizada para uma lista ordenada de forma aleatória.
100

Um estudo sobre a relação entre qualidade e arquitetura de software / A study about the relation between software quality and software architecture

Mauricio Tsuruta 02 March 2011 (has links)
Diversos setores da economia tem alto grau de dependência de sistemas computacionais: telecomunicação, financeiro, infraestrutura, industrial dentre outros. Desta forma, a qualidade do software contido nestes sistemas é um ítem importante para o bom desempenho destes setores. A arquitetura de software é considerada fator determinante para a qualidade de software. Este trabalho estuda a maneira pela qual a arquitetura de software determina a qualidade do software produzido e as possibilidades de se obter os atributos de qualidade desejados através da especificação de uma arquitetura de software apropriada. O método de pesquisa se fundamenta na revisão da literatura e quatro abordagens para a especificação da arquitetura de software são consideradas: clássica, orientada a objetos, orientada a atributos e orientada a busca. A abordagem orientada a busca é um campo de estudo relativamente recente e os avanços realizados são reportados dentro da área de conhecimento denominada de Search Based Software Engineering. Esta área de conhecimento utiliza técnicas metaheurísticas para achar boas soluções para os problemas encontrados na Engenharia de Software. Uma das técnicas meta-heurísticas mais utilizadas, o algorítmo genético, é usada em uma aplicação cujo processo de design segue a abordagem orientada a busca. / Many sectors of economy depend highly on computing systems: telecommunication, finance, infrastructure, industrial, and others. Thus, the quality of software in these systems is an important item to achieve good performance in these sectors. The software architecture is considered one of the main factors that shape the software quality. This work studies the way software architecture determines the software quality and the possibilities to obtain the desired software quality attributes through specifying appropriate software architecture. The research method is based upon literature review and four approaches to software architecture design process are considered: classic, object oriented, attribute oriented and search oriented. The search oriented approach to software architecture design process is a relatively new field of study and advances are reported in a knowledge area called Search Based Software Engineering. This knowledge area uses metaheuristics techniques to find good solutions to problems found in software engineering. One of the metaheuristic technique most frequently used, the genetic algorithm, is used in an application that follows the search based approach.

Page generated in 0.0903 seconds