• Refine Query
  • Source
  • Publication year
  • to
  • Language
  • 42
  • 25
  • 2
  • 2
  • 1
  • 1
  • Tagged with
  • 91
  • 91
  • 25
  • 23
  • 19
  • 14
  • 13
  • 11
  • 11
  • 10
  • 9
  • 9
  • 9
  • 8
  • 8
  • 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.
31

An empirical study on software quality : developer perception of quality, metrics, and visualizations

Wilson, Gary Lynn 09 December 2013 (has links)
Software tends to decline in quality over time, causing development and maintenance costs to rise. However, by measuring, tracking, and controlling quality during the lifetime of a software product, its technical debt can be held in check, reducing total cost of ownership. The measurement of quality faces challenges due to disagreement in the meaning of software quality, the inability to directly measure quality factors, and the lack of measurement practice in the software industry. This report addresses these challenges through both a literature survey, a metrics derivation process, and a survey of professional software developers. Definitions of software quality from the literature are presented and evaluated with responses from software professionals. A goal, question, metric process is used to derive quality-targeted metrics tracing back to a set of seven code-quality subgoals, while a survey to software professionals shows that despite agreement that metrics and metric visualizations would be useful for improving software quality, the techniques are underutilized in practice. / text
32

Μεθοδολογία έγκαιρης εκτίμησης της γνώμης των χρηστών για την ποιότητα λογισμικού / A methodology for early estimation of users' opinions of software quality

Σταυρινούδης, Δημήτριος 25 June 2007 (has links)
Στην παρούσα διδακτορική διατριβή προτείνονται διάφορες μέθοδοι και τεχνικές που συνεισφέρουν στην έγκαιρη εκτίμηση της γνώμης των χρηστών για την ποιότητα λογισμικού. Τέτοιες μέθοδοι είναι α) η επιλογή και χρήση μετρικών λογισμικού και η ανάλυση των αποτελεσμάτων τους, β) η δόμηση και η ανάλυση ερωτηματολογίων για τη μέτρηση της γνώμης των χρηστών για την ποιότητα λογισμικού, γ) η συσχέτιση εσωτερικών μετρικών λογισμικού με τα εξωτερικά ποιοτικά χαρακτηριστικά ενός προγράμματος λογισμικού, δ) η μεταβολή της γνώμης του χρήστη για την ποιότητα ενός προγράμματος λογισμικού με την πάροδο του χρόνου σε σχέση με το επίπεδο εμπειρίας του χρήστη και ε) η χρήση και η προσαρμογή κανόνων και μοντέλων από τη θεωρία Αναθεώρησης Άποψης. Όλες οι παραπάνω μέθοδοι συνδυάζονται ώστε να συνεισφέρουν στην προτεινόμενη μεθοδολογία της διδακτορικής διατριβής. / In this dissertation, a number of methods and techniques that contribute to the early estimation of users’ opinions of software quality are proposed. These are a) the selection and use of software metrics and the analysis of their results, b) the formation and analysis of questionnaires measuring users’ opinions of software quality, c) the correlation between internal software metrics and the external quality characteristics of a software program, d) the differentiation of a user’s opinion of the quality of a software program over time in relation to the experience level of the user and e) the use and adaptation of rules and models of Belief Revision theory. The combination of these methods results in the proposed methodology of this dissertation.
33

Διεξαγωγή μετρήσεων ποιότητας με στόχο τη βελτίωση της συντηρησιμότητας σε λογισμικό αλληλεπίδρασης με Βάση Δεδομένων / Applying metrics to an object-oriented software interacting with a database to ensure its maintainability

Πέρδικα, Πολυτίμη 16 May 2007 (has links)
Η ποιότητα του λογισμικού είναι μία πολυσυζητημένη έννοια στις μέρες μας. Παρόλο που δεν υπάρχει ένας και μόνο ορισμός που να την περιγράφει, όλοι αντιλαμβάνονται την έννοια της ποιότητας λογισμικού, ιδιαίτερα μέσω της απουσίας της. Η διασφάλιση της ποιότητας του λογισμικού συνδέεται άμεσα με την έννοια της μετρικής, που είναι μία διαδικασία απαραίτητη για τη εκτίμηση της κατάστασης των προϊόντων, των διαδικασιών και των πόρων παραγωγής λογισμικού. Με την εφαρμογή των μετρικών σε ένα λογισμικό, μετρώνται εκείνα τα χαρακτηριστικά του που συμβάλλουν σημαντικά στην ποιότητά του. Έτσι, είναι δυνατό να εξαχθούν συμπεράσματα για το κατά πόσο το λογισμικό πληροί τα κριτήρια ποιότητας. Αντικείμενο της παρούσας διπλωματικής εργασίας είναι η παρουσίαση μεθοδολογίας διεξαγωγής μετρήσεων ποιότητας σε λογισμικό αντικειμενοστραφούς προγραμματισμού που υλοποιεί την αλληλεπίδραση με μία Βάση Δεδομένων, ώστε να εξαχθούν συμπεράσματα κυρίως για τη συντηρησιμότητά του και κατ’ επέκταση για τη δυνατότητα επαναχρησιμοποίησής του. / Although there is not a unique definition for ‘software quality’, its value is clearly understood, especially through its absence. Software quality reassurance is related with the concept of ‘metrics’. Metrics are considered essential to estimate the state of the product, the procedures and the resources for the software production. Through the application of metrics to a software product, the characteristics that contribute to its quality can be measured. In this way, conclusions can be drawn regarding the degree of fulfillment for the criteria of quality. This thesis presents a methodology of applying metrics to an object-oriented software, which is responsible for interacting with a database. The results of measuring the most important characteristics of the software lead to conclusions about the software’s maintainability and reusability.
34

USING COMPLEXITY, COUPLING, AND COHESION METRICS AS EARLY INDICATORS OF VULNERABILITIES

Chowdhury, Istehad 28 September 2009 (has links)
Software security failures are common and the problem is growing. A vulnerability is a weakness in the software that, when exploited, causes a security failure. It is difficult to detect vulnerabilities until they manifest themselves as security failures in the operational stage of the software, because security concerns are often not addressed or known sufficiently early during the Software Development Life Cycle (SDLC). Complexity, coupling, and cohesion (CCC) related software metrics can be measured during the early phases of software development such as design or coding. Although these metrics have been successfully employed to indicate software faults in general, the relationships between CCC metrics and vulnerabilities have not been extensively investigated yet. If empirical relationships can be discovered between CCC metrics and vulnerabilities, these metrics could aid software developers to take proactive actions against potential vulnerabilities in software. In this thesis, we investigate whether CCC metrics can be utilized as early indicators of software vulnerabilities. We conduct an extensive case study on several releases of Mozilla Firefox to provide empirical evidence on how vulnerabilities are related to complexity, coupling, and cohesion. We mine the vulnerability databases, bug databases, and version archives of Mozilla Firefox to map vulnerabilities to software entities. It is found that some of the CCC metrics are correlated to vulnerabilities at a statistically significant level. Since different metrics are available at different development phases, we further examine the correlations to determine which level (design or code) of CCC metrics are better indicators of vulnerabilities. We also observe that the correlation patterns are stable across multiple releases. These observations imply that the metrics can be dependably used as early indicators of vulnerabilities in software. We then present a framework to automatically predict vulnerabilities based on CCC metrics. To build vulnerability predictors, we consider four alternative data mining and statistical techniques – C4.5 Decision Tree, Random Forests, Logistic Regression, and Naïve-Bayes – and compare their prediction performances. We are able to predict majority of the vulnerability-prone files in Mozilla Firefox, with tolerable false positive rates. Moreover, the predictors built from the past releases can reliably predict the likelihood of having vulnerabilities in future releases. The experimental results indicate that structural information from the non-security realm such as complexity, coupling, and cohesion are useful in vulnerability prediction. / Thesis (Master, Electrical & Computer Engineering) -- Queen's University, 2009-09-24 17:31:36.581
35

[en] ON THE ROLE OF COMPOSITION PROPERTIES ON PROGRAM STABILITY / [pt] ANÁLISE DE PROPRIEDADES DE CÓDIGO DE COMPOSIÇÃO EM ESTABILIDADE DE PROGRAMAS

FRANCISCO DANTAS DE MEDEIROS NETO 17 January 2017 (has links)
[pt] A demanda por desenvolvimento de software incremental tem impulsionado a busca por técnicas de programação avançadas, tais como programação orientada a aspectos e programação orientada a características. Estas técnicas têm por objetivo apoiar a implementação de mudanças de software de forma localizada, a fim de promover a estabilidade do programa. Para atingir este objetivo, elas oferecem uma grande variedade de sofisticados mecanismos de composição, que fornecem meios para definir de forma flexível a composição de dois ou mais módulos de um programa. No entanto, dada a complexidade do código composição resultante, a definição inicial e alterações posteriores na especificação de uma simples composição podem afetar a estrutura e o comportamento de vários módulos, prejudicando assim a estabilidade do programa. Um fator complicador é que essas mudanças geralmente exigem raciocínio sobre certas propriedades da composição, que não estão explícitas nos artefatos de implementação ou de projeto. Infelizmente, não há conhecimento do estado da arte sobre as propriedades da composição que afetam positivamente ou negativamente a estabilidade do programa. Esse entendimento não é possível ainda, uma vez que: (i) não há uma caracterização conceitual e meios de quantificação referentes às propriedades do código de composição, e (ii) não há nenhuma investigação empírica sobre a influência dessas propriedades na estabilidade do programa. Um efeito colateral dessas lacunas é que os desenvolvedores têm recorrido a métricas convencionais, tais como o acoplamento, para determinar ou prever a estabilidade de um programa implementado usando técnicas de programação avançadas. Neste contexto, a presente tese apresenta três contribuições. Primeiro, são apresentados os resultados de um estudo empírico, revelando que as métricas convencionais utilizadas, tais como acoplamento, não são indicadores eficazes de estabilidade quando técnicas avançadas de programação são usadas. Em segundo lugar, é apresentado um arcabouço de medição que engloba um conjunto de métricas de composição destinado a quantificar as propriedades do código de composição. Este arcabouço foi desenvolvido com base em uma metamodelo e uma terminologia usada para caracterizar os elementos e propriedades do código de composição. Trata-se de um arcabouço extensível e que pode ser usado independente da técnica de programação adotada. Terceiro, nós também investigamos meios para aliviar o esforço de manutenção quando mudanças relacionadas ao código de composição precisam ser realizadas.Nesta investigação, nós avaliamos se modelos enriquecidos com a especificação das propriedades de composição ajudam os desenvolvedores a melhorar a estabilidade do programa em suas tarefas de manutenção. / [en] The demand for incremental software development has driven a search for advanced programming techniques, such as aspect-oriented programming and feature-oriented programming. These techniques share the goal of supporting localized implementation of software changes in order to promote program stability. To achieve this goal, they offer a wide range of sophisticated composition mechanisms, which provide means to flexibly define the composition of two or more modules in a program. However, given the complexity of the resulting composition code, the initial definition and further changes to a single composition specification might affect the structure and behaviour of multiple modules, thereby harming the program stability. A complicating factor is that those changes often require some reasoning about certain composition properties, which are not explicit in the implementation or design artefacts. Unfortunately, there is no understanding in the state of the art about the composition properties that affect positively or negatively the program stability. This understanding is not yet possible as: (i) there is no conceptual characterization and quantification means for composition code properties, and (ii) there is no empirical investigation on the influence of these properties on program stability. A side effect of these gaps is that developers have resorted to conventional metrics, such as coupling, to determine or predict the stability of a program implemented with advanced programming techniques. In this context, this thesis presents three contributions to overcome the aforementioned problems. First, we have developed an empirical study revealing that widely-used metrics, such as coupling, are not effective indicators of stability when advanced programming techniques are used. Second, we propose a measurement framework encompassing a suite of composition metrics intended to quantify properties of the composition code. This framework is based on a meta-model and terminology for characterizing the elements and properties of the composition code. This framework is extensible and agnostic to particular programming techniques. Third, we also investigate how to alleviate the maintenance effort in performing changes related to the composition code. We evaluate if the availability of design models enriched with specification of composition properties help developers to improve program stability in their maintenance tasks.
36

Uma abordagem para estimação prévia dos requisitos não funcionais em sistemas embarcados utilizando métricas de software / An approach to early estimation of non-functional requirements for embedded systems using software metrics

Vieira, Andrws Aires January 2015 (has links)
O crescente aumento da complexidade dos sistemas embarcados demanda consigo a necessidade do uso de novas abordagens que acelerem o seu desenvolvimento, como por exemplo, o desenvolvimento baseado em modelos. Essas novas abordagens buscam aumentar o nível de abstração, utilizando conceitos de orientação a objetos e UML para modelar um software embarcado. Porém, com o aumento do nível de abstração, o projetista de software embarcado não possui a ideia exata do impacto de suas decisões de modelagem em questões importantes, como desempenho, consumo de energia, entre tantas outras que são de suma importância em um projeto embarcado. Dessa forma, se fazem necessárias técnicas de análise e/ou estimação de projeto que, em um ambiente de desenvolvimento mais abstrato, possam auxiliar o projetista a tomar melhores decisões nas etapas inicias de projeto, garantindo assim, as funcionalidades (requisitos funcionais) e os requisitos não funcionais do sistema embarcado. Neste trabalho, propõe-se estimar os requisitos não funcionais de um sistema embarcado a partir de informações (métricas) extraídas das etapas iniciais do projeto. Pretende-se com isso auxiliar o projetista na exploração do espaço de projeto já nos estágios iniciais do processo de desenvolvimento, através de uma rápida realimentação sobre o impacto de uma decisão de projeto no desempenho da aplicação em uma dada plataforma de execução. Os resultados experimentais mostram a aplicabilidade da abordagem, principalmente para um ambiente de evolução e manutenção de projetos de software, onde se tem um histórico de métricas de aplicações semelhantes para serem usadas como dados de treinamento. Neste cenário, a abordagem proposta possui acurácia de pelo menos 98% para as estimativas apresentadas ao projetista. Em um cenário heterogêneo, assumindo o uso da metodologia em um sistema diferente daquele usado para treinamento, a acurácia do método de estimação cai para pelo menos 80%. / The increasing complexity of embedded systems demands the use of new approaches to accelerate their development, such as model-driven engineering. Such approaches aim at increasing the level of abstraction using concepts such as object-orientation and UML for modeling the embedded software. However, with the increase of the abstraction level, the embedded software developer looses controllability and predictability over important issues such as performance, power dissipation and memory usage for a specific embedded platform. Thus, new design estimation techniques that can be used in the early development stages become necessary. Such a strategy may help the designer to make better decisions in the early stages of the project, thus ensuring the final system meets both functional and non-functional requirements. In this work, we propose an estimation technique of non-functional requirements for embedded systems, based on data (metrics) extracted from early stages of the project. The proposed methodology allows to better explore different design options in the early steps of software development process and can therefore provide a fast and yet accurate feedback to the developer. Experimental results show the applicability of the approach, particularly for software evolution and maintenance, which has a history of similar applications metrics to be used as training data. In this scenario, the accuracy of the estimation is at least of 98%. In a heterogeneous scenario, where the estimation is performed for a system that is different from the one used during training, the accuracy drops to 80%.
37

Uma abordagem para a definição de valores de referência de métricas de software baseada em contexto usando redes Bayesianas.

SANTOS, Leonardo da Costa. 28 March 2018 (has links)
Submitted by Lucienne Costa (lucienneferreira@ufcg.edu.br) on 2018-03-28T20:50:30Z No. of bitstreams: 1 LEONARDO DA COSTA SANTOS - DISSERTAÇÃO (PPGCC) 2017.pdf: 1052959 bytes, checksum: 86527931b8f10cbdea926396a36e5169 (MD5) / Made available in DSpace on 2018-03-28T20:50:30Z (GMT). No. of bitstreams: 1 LEONARDO DA COSTA SANTOS - DISSERTAÇÃO (PPGCC) 2017.pdf: 1052959 bytes, checksum: 86527931b8f10cbdea926396a36e5169 (MD5) Previous issue date: 2017 / Métricas possuem um papel fundamental no processo de gerenciamento da qualidade de software. Apesar dos seus potenciais benefícios, elas geralmente são utilizadas apenas para quantificação, não oferecendo suporte adequado à tomada de decisão durante o ciclo de vida do software. Para potencializar a utilização das métricas, é essencial definir valores de referência significativos (i.e., thresholds), atribuindo, assim, significado para os números coletados. O objetivo deste trabalho é apresentar uma abordagem para definição de valores de referência de métricas de software de acordo com o contexto do projeto. A abordagem consiste em definir os fatores de contexto que influenciam os valores de referência da métrica em questão a partir de conhecimento elicitado de especialistas. Essas informações são utilizadas para construir uma rede Bayesiana que pode ser utilizada para auxiliar na tomada de decisão. A solução proposta foi avaliada por meio de um estudo piloto realizado com três gerentes de projetos reais de desenvolvimento de software. Os dados foram coletados com os profissionais para construir redes Bayesianas, para identificar e validar os valores de referência para as métricas Número de Bugs Minor, Número de Alertas de Análise Estática e Porcentagem de Cobertura de Código. A abordagem proposta mostrou-se promissora para auxiliar os profissionais a identificar valores de referência representativos, potencializando tomadas de decisões mais assertivas no processo de gerenciamento de projetos de software / Metrics play a key role in the software quality management process. Despite their potential benefits, they are generally only used for quantification, not providing adequate support to the decision-making process during the software’s life cycle. To enhance the use of metrics, it is essential to define meaningful reference values (i.e., thresholds), thus giving meaning to the data collected. This work aims to propose an approach to define the software metrics’ reference values according to the project’s context. The approach consists of using the specialists’ elicited knowledge to define context factors that influence the metric’s reference values. This information is used to build a Bayesian network that can be used to aid in the decision-making process. The proposed solution was evaluated through a pilot study conducted with three managers of real software development projecst. Data were collected from the software project managers in order to build Bayesian networks to identify and validate reference values for the Number of Minor Bugs, the Number of Static Analysis Alerts, and the Code Coverage Percentage metrics. Each metric was validated in three scenarios. The proposed approach has shown to be promising in helping professionals to identify representative reference values, promoting a more assertive decision making when it comes to the software project management process
38

Uma abordagem para estimação prévia dos requisitos não funcionais em sistemas embarcados utilizando métricas de software / An approach to early estimation of non-functional requirements for embedded systems using software metrics

Vieira, Andrws Aires January 2015 (has links)
O crescente aumento da complexidade dos sistemas embarcados demanda consigo a necessidade do uso de novas abordagens que acelerem o seu desenvolvimento, como por exemplo, o desenvolvimento baseado em modelos. Essas novas abordagens buscam aumentar o nível de abstração, utilizando conceitos de orientação a objetos e UML para modelar um software embarcado. Porém, com o aumento do nível de abstração, o projetista de software embarcado não possui a ideia exata do impacto de suas decisões de modelagem em questões importantes, como desempenho, consumo de energia, entre tantas outras que são de suma importância em um projeto embarcado. Dessa forma, se fazem necessárias técnicas de análise e/ou estimação de projeto que, em um ambiente de desenvolvimento mais abstrato, possam auxiliar o projetista a tomar melhores decisões nas etapas inicias de projeto, garantindo assim, as funcionalidades (requisitos funcionais) e os requisitos não funcionais do sistema embarcado. Neste trabalho, propõe-se estimar os requisitos não funcionais de um sistema embarcado a partir de informações (métricas) extraídas das etapas iniciais do projeto. Pretende-se com isso auxiliar o projetista na exploração do espaço de projeto já nos estágios iniciais do processo de desenvolvimento, através de uma rápida realimentação sobre o impacto de uma decisão de projeto no desempenho da aplicação em uma dada plataforma de execução. Os resultados experimentais mostram a aplicabilidade da abordagem, principalmente para um ambiente de evolução e manutenção de projetos de software, onde se tem um histórico de métricas de aplicações semelhantes para serem usadas como dados de treinamento. Neste cenário, a abordagem proposta possui acurácia de pelo menos 98% para as estimativas apresentadas ao projetista. Em um cenário heterogêneo, assumindo o uso da metodologia em um sistema diferente daquele usado para treinamento, a acurácia do método de estimação cai para pelo menos 80%. / The increasing complexity of embedded systems demands the use of new approaches to accelerate their development, such as model-driven engineering. Such approaches aim at increasing the level of abstraction using concepts such as object-orientation and UML for modeling the embedded software. However, with the increase of the abstraction level, the embedded software developer looses controllability and predictability over important issues such as performance, power dissipation and memory usage for a specific embedded platform. Thus, new design estimation techniques that can be used in the early development stages become necessary. Such a strategy may help the designer to make better decisions in the early stages of the project, thus ensuring the final system meets both functional and non-functional requirements. In this work, we propose an estimation technique of non-functional requirements for embedded systems, based on data (metrics) extracted from early stages of the project. The proposed methodology allows to better explore different design options in the early steps of software development process and can therefore provide a fast and yet accurate feedback to the developer. Experimental results show the applicability of the approach, particularly for software evolution and maintenance, which has a history of similar applications metrics to be used as training data. In this scenario, the accuracy of the estimation is at least of 98%. In a heterogeneous scenario, where the estimation is performed for a system that is different from the one used during training, the accuracy drops to 80%.
39

Software Architectural Metrics for the Scania Internet of Things Platform : From a Microservice Perspectiv

Ulander, David January 2017 (has links)
There are limited tools to evaluate a microservice architecture and no common definition of how the architecture should be designed. Moreover, developing systems with microservices introduces additional complexity to the software architecture. That, together with the fact the systems are becoming more complex has led to a desire for architecture evaluation methods. In this thesis a set of quality attributes measured by structural metrics are used to evaluate Scania's IoT Offboard platform. By implementing a metrics evaluation program the quality of the software architecture can be improved. Also, metrics can assist developers and architects while they are becoming more efficient since they better understand how performance is measured, i.e. which quality attributes are the most important and how these are measured. For Scania's IoT Offboard platform the studied quality attributes are listed in decreasing importance: flexibility, reusability and understandability. All the microservices are loosely coupled in the platform, which results in a loosely coupled architecture. This indicates a flexible, reusable and understandable system, in terms of coupling. Furthermore, the architecture is decentralized, i.e. the system is unflexible and difficult to change. The other metrics were lacking a reference scale, hence they will act as a point of reference for future measurements as the architecture evolves. To improve the flexibility, reusability and understandability of the architecture the large microservices should be divided into several smaller microservices. Also aggregators should be utilized more to make the system more flexible.
40

Visualization of Statistical Contents

MEHMOOD, RAJA MAJID, IQBAL, GULRAIZ January 2009 (has links)
Our project presents the research on visualization of statistical contents. Here wewill introduce the concepts of visualization, software quality metrics andproposed visualization technique (line chart). Our aim to study the existingvisualization techniques for visualization of software metrics and then proposedthe visualization approach that is more time efficient and easy to perceive byviewer.In this project, we focus on the practical aspects of visualization of multipleprojects with respect to the versions and metrics. This project also gives animplementation of proposed visualization techniques of software metrics. In thisresearch based work, we have to compare practically the proposed visualizationapproaches. We will discuss the software development life cycle of our proposedvisualization system, and we will also describe the complete softwareimplementation of implemented software.

Page generated in 0.1067 seconds