16 research outputs found
Visualization of software development metrics on a dashboard
Resulta difĂcil entendre, i mĂ©s encara millorar, la qualitat del programari sense conèixer el procĂ©s de desenvolupament del mateix i dels seus productes. És necessari dur a terme algun tipus de procĂ©s d’avaluaciĂł per tal de determinar la qualitat dels productes (software). La investigaciĂł que es descriu en el present estudi Ă©s un intent d’analitzar diversos parĂ metres en la producciĂł del desenvolupament del programari i mostrar-los en una ”dashboard”. Es realitza, per tant, un breu recorregut per l’enginyeria, la qualitat i els parĂ metres del programari en l’entorn d’una empresa informĂ tica real (Reval).
Els resultats principals d’aquests parĂ metres apareixeran monitoritzats en una Ăşnica pĂ gina, de fĂ cil lectura, en una interfĂcie a temps real per a l’usuari, la qual mostrarĂ una grĂ fica de l’estat actual (snapshot) i un historial dels indicadors clau de la producciĂł software que permetran realitzar decisions instantĂ nies i informades d’una
ullada.
L’analsis mètric, tot i no ser un tema interessant, és un aspecte necessari. És part de la sobrecà rrega necessà ria per a realitzar l’entrega del producte. Si podem detectar els possibles riscs de l’entrega a temps, els podrem solucionar. Si no descobrim quina és la seva magnitud, estem anant a les palpentes i els projectes poden fracassar. És
important mesurar els aspectes adequats i assegurar-nos que van pel bon camà (per dirigir un treball progressivament). En segon lloc, és important mesurar els esforços per poder millorar ja que per molt que canviem coses i ens sembli que ho fem bé, no coneixerem les millores reals i no les podrem qualificar
Towards Visual Analytics Dashboards for Provenance-driven Static Application Security Testing
The use of static code analysis tools for security audits can be time consuming, as the many existing tools focus on different aspects and therefore development teams often use several of these tools to keep code quality high and prevent security issues. Displaying the results of multiple tools, such as code smells and security warnings, in a unified interface can help developers get a better overview and prioritize upcoming work. We present visualizations and a dashboard that interactively display results from static code analysis for “interesting” commits during development. With this, we aim to provide an effective visual analytics tool for code security analysis results
The connection between antipatterns and maintainability in Firefox
The notion that antipatterns have a detrimental effect on source code maintainability is widely accepted, but there is relatively little objective evidence to support it. We seek to investigate this issue by analyzing the connection between antipatterns and maintainability in an empirical study of Firefox, an open source browser application developed in C++. After extracting antipattern instances and maintainability information from 45 revisions, we looked for correlations to uncover a connection between the two concepts. We found statistically significant negative values for both Pearson and Spearman correlations, most of which were under -0.65. These values suggest there are strong, inverse relationships, thereby supporting our initial assumption that the more antipatterns the source code contains, the harder it is to maintain. Lastly, we combined these data into a table applicable for machine learning experiments, which we conducted using Weka [10] and several of its classifier algorithms. All five regression types we tried had correlation coefficients over 0.77 and used mostly negative weights for the antipattern predictors in the models we constructed. In conclusion, we can say that this empirical study is another step towards objectively demonstrating that antipatterns have an adverse effect on software maintainability
Criação de um dashboard para monitoramento de perfis de qualidade de software
Trabalho de ConclusĂŁo de Curso (graduação)—Universidade de BrasĂlia, Faculdade UnB Gama, 2017.A contratação de software Ă© uma prática comum dentro dos Ă“rgĂŁo PĂşblicos Brasileiros. No momento que a empresa ganha a licitação de um serviço, a empresa passa a ter o direito de contratação, para prestar o serviço ao Ă“rgĂŁo contratante. Este trabalho teve por objetivo implementar um dashboard que, com a ajuda de recursos visuais, fosse uma ferramenta que auxilie no processo de contratação de software em Ă“rgĂŁos PĂşblicos. Para esta solução, o dashboard funciona como uma ferramenta de visualização de indicadores, determinados pelo Gestor de Projetos do Ă“rgĂŁo PĂşblico. O dashboard exibe os indicadores dos projetos, que estĂŁo sendo desenvolvidos pela Contratante, para o Gestor. O trabalho consistiu de duas fases: Iniciação e Execução. O objetivo da primeira fase foi estabelecer fundamentos (teĂłricos e arquiteturais) para a fase de Execução. Enquanto o foco da segunda fase foi na implementação da solução. Como metodologia de desenvolvimento, optou-se por uma adaptação da metodologia Scrum. Por fim, cabe ressaltar que foi utilizado Aprendizado de Máquina na sugestĂŁo de possĂveis mĂ©tricas para os gestores. Nessa sugestĂŁo, leva-se em consideração perfis de outros gestores, criando-se personas para representar tais perfis.The contracting of software is a common practice within the Brazilian Public Departments. At the moment the company wins the bid for a service, the company will have the right to contract, to render the service to the contracting entity. This work aims to implement a dashboard that, with the help of visual resources, is a tool that helps in the process of contracting software in Public Departments. For this solution, the dashboard works as a tool for visualizing indicators, as determined by the Public Department Project Manager. The dashboard displays the project indicators, which are being developed by the Employer, for the Manager. The work consisted of two phases: Initiation and Execution. The objective of the first phase is to establish fundamentals (theoretical and architectural) for the Execution phase, while the focus of the second phase lies in the implementation of the solution. The use of an adaptation of the Scrum methodology for the development of the solution was chosen, but some changes were necessary, mainly due to the scope and number of roles required by the methodology. Machine Learning was used in suggesting possible metrics for managers, based on the profiles of other managers. In this case people were created to represent these profiles
Utilizing static and dynamic software analysis to aid cost estimation, software visualization, and test quality management
The main results presented in the thesis are related to the semi- or fully-automated analysis
of the software and its development processes. My overall research goal is to provide
meaningful insights, methods, and practical tools to help the work of stakeholders during
various phases of software development. The thesis statements have been grouped into
three major thesis points, namely "Measuring, predicting, and comparing the productivity
of developer teams"; "Providing immersive methods for software and unit test visualization";
and "Spotting the structures in the package hierarchy that required attention using
test coverage data"
Towards using fluctuations in internal quality metrics to find design intents
Le contrôle de version est la pierre angulaire des processus de développement de logiciels modernes. Tout en
construisant des logiciels de plus en plus complexes, les développeurs doivent comprendre des sous-systèmes de code
source qui leur sont peu familier. Alors que la compréhension de la logique d'un code étranger est relativement simple,
la compréhension de sa conception et de sa genèse est plus compliquée. Elle n'est souvent possible que par les
descriptions des révisions et de la documentation du projet qui sont dispersées et peu fiables -- quand elles existent.
Ainsi, les développeurs ont besoin d'une base de référence fiable et pertinente pour comprendre l'historique des projets
logiciels. Dans cette thèse, nous faisons les premiers pas vers la compréhension des motifs de changement dans les
historiques de révision. Nous étudions les changements prenant place dans les métriques logicielles durant l'évolution
d'un projet.
Au travers de multiples études exploratoires, nous réalisons des expériences quantitatives et qualitatives sur plusieurs
jeux de données extraits à partir d'un ensemble de 13 projets. Nous extrayons les changements dans les métriques
logicielles de chaque commit et construisons un jeu de donnée annoté manuellement comme vérité de base.
Nous avons identifié plusieurs catégories en analysant ces changements. Un motif en particulier nommé "compromis", dans
lequel certaines métriques peuvent s'améliorer au détriment d'autres, s'est avéré être un indicateur prometteur de
changements liés à la conception -- dans certains cas, il laisse également entrevoir une intention de conception
consciente de la part des auteurs des changements. Pour démontrer les observations de nos études exploratoires, nous
construisons un modèle général pour identifier l'application d'un ensemble bien connu de principes de conception dans de
nouveaux projets.
Nos résultats suggèrent que les fluctuations de métriques ont le potentiel d'être des indicateurs pertinents pour gagner
des aperçus macroscopiques sur l'évolution de la conception dans l'historique de développement d'un projet.Version control is the backbone of the modern software development workflow. While building more and more complex
systems, developers have to understand unfamiliar subsystems of source code. Understanding the logic of unfamiliar code
is relatively straightforward. However, understanding its design and its genesis is often only possible through
scattered and unreliable commit messages and project documentation -- when they exist.
Thus, developers need a reliable and relevant baseline to understand the history of software projects. In this thesis,
we take the first steps towards understanding change patterns in commit histories. We study the changes in software
metrics through the evolution of projects.
Through multiple exploratory studies, we conduct quantitative and qualitative experiments on several datasets extracted
from a pool of 13 projects. We mine the changes in software metrics for each commit of the respective projects and
manually build oracles to represent ground truth.
We identified several categories by analyzing these changes. One pattern, in particular, dubbed "tradeoffs", where some
metrics may improve at the expense of others, proved to be a promising indicator of design-related changes -- in some
cases, also hinting at a conscious design intent from the authors of the changes. Demonstrating the findings of our
exploratory studies, we build a general model to identify the application of a well-known set of design principles in
new projects.
Our overall results suggest that metric fluctuations have the potential to be relevant indicators for valuable
macroscopic insights about the design evolution in a project's development history
The applications of autonomous systems to forestry management
Thesis (M.B.A.)--Massachusetts Institute of Technology, Sloan School of Management; and, (S.M.)--Massachusetts Institute of Technology, Engineering Systems Division; in conjunction with the Leaders for Global Operations Program at MIT, 2013.Cataloged from PDF version of thesis.Includes bibliographical references (p. 132-137).Public and private timberland owners continually search for new, cost effective methods to monitor and nurture their timber stand investments. Common management tasks include monitoring tree growth and tree health, estimating timber value and preventing wildfire. Many of these tasks are both manual and costly due to the vast areas and remote locations involved. Forestry experts predict that multi-vehicle autonomous systems may enable new, cost effective methods for performing various forest management tasks[1]. However, it remains unclear how these technologies may be applied, or where to focus development efforts. This research attempts to address this gap in literature, linking state-of-the-art research in forestry management science, robotics and autonomous systems, and product design and development. This thesis begins by reviewing existing forestry management practices and discussing a number of challenges identified through industry interviews and research. Modem product design methods are reviewed, and used to generate ideas for a number of new concept systems. Three design concepts are presented as detailed case studies. The data sets, methods and proposed systems discussed in this thesis may be used to guide future research in forestry management science, and drive further innovation in the emerging field of commercial and civilian autonomous systems. Key words: Forestry Management, Forestry Science, Robotics and Autonomous Systems, Unmanned Aerial Vehicles (UAV), Unmanned Aerial Systems (UAS), Product Design and Development, Light Detection and Ranging (LiDAR)by Joshua Przybylko.S.M.M.B.A