• Refine Query
  • Source
  • Publication year
  • to
  • Language
  • 3
  • 2
  • 1
  • Tagged with
  • 7
  • 7
  • 3
  • 2
  • 2
  • 2
  • 2
  • 2
  • 2
  • 2
  • 2
  • 1
  • 1
  • 1
  • 1
  • 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.
1

Exploiting abstract syntax trees to locate software defects

Shippey, Thomas Joshua January 2015 (has links)
Context. Software defect prediction aims to reduce the large costs involved with faults in a software system. A wide range of traditional software metrics have been evaluated as potential defect indicators. These traditional metrics are derived from the source code or from the software development process. Studies have shown that no metric clearly out performs another and identifying defect-prone code using traditional metrics has reached a performance ceiling. Less traditional metrics have been studied, with these metrics being derived from the natural language of the source code. These newer, less traditional and finer grained metrics have shown promise within defect prediction. Aims. The aim of this dissertation is to study the relationship between short Java constructs and the faultiness of source code. To study this relationship this dissertation introduces the concept of a Java sequence and Java code snippet. Sequences are created by using the Java abstract syntax tree. The ordering of the nodes within the abstract syntax tree creates the sequences, while small sub sequences of this sequence are the code snippets. The dissertation tries to find a relationship between the code snippets and faulty and non-faulty code. This dissertation also looks at the evolution of the code snippets as a system matures, to discover whether code snippets significantly associated with faulty code change over time. Methods. To achieve the aims of the dissertation, two main techniques have been developed; finding defective code and extracting Java sequences and code snippets. Finding defective code has been split into two areas - finding the defect fix and defect insertion points. To find the defect fix points an implementation of the bug-linking algorithm has been developed, called S + e . Two algorithms were developed to extract the sequences and the code snippets. The code snippets are analysed using the binomial test to find which ones are significantly associated with faulty and non-faulty code. These techniques have been performed on five different Java datasets; ArgoUML, AspectJ and three releases of Eclipse.JDT.core Results. There are significant associations between some code snippets and faulty code. Frequently occurring fault-prone code snippets include those associated with identifiers, method calls and variables. There are some code snippets significantly associated with faults that are always in faulty code. There are 201 code snippets that are snippets significantly associated with faults across all five of the systems. The technique is unable to find any significant associations between code snippets and non-faulty code. The relationship between code snippets and faults seems to change as the system evolves with more snippets becoming fault-prone as Eclipse.JDT.core evolved over the three releases analysed. Conclusions. This dissertation has introduced the concept of code snippets into software engineering and defect prediction. The use of code snippets offers a promising approach to identifying potentially defective code. Unlike previous approaches, code snippets are based on a comprehensive analysis of low level code features and potentially allow the full set of code defects to be identified. Initial research into the relationship between code snippets and faults has shown that some code constructs or features are significantly related to software faults. The significant associations between code snippets and faults has provided additional empirical evidence to some already researched bad constructs within defect prediction. The code snippets have shown that some constructs significantly associated with faults are located in all five systems, and although this set is small finding any defect indicators that transfer successfully from one system to another is rare.
2

An Evaluation Of The Reinspection Decision Policies For Software Code Inspections

Nalbant, Serkan 01 January 2005 (has links) (PDF)
This study evaluates a number of software reinspection decision policies for software code inspections with the aim of revealing their effects regarding cost, schedule and quality related objectives of a software project. Software inspection is an effective defect removal technique for software projects. After the initial inspection, a reinspection may be performed for decreasing the number of remaining defects further. Although, various reinspection decision methods are proposed in the literature, no study provides information on the results of employing different methods. In order to obtain insight about this unaddressed issue, this study compares the reinspection decision policies by finding out and analyzing their performance with respect to designated measures and preference profiles for cost, schedule, and quality perspectives in the context of a typical Software Capability Maturity Model Level 3 software organization. For this purpose, a Monte Carlo simulation model, which represents the process comprising initial code inspection, reinspection, testing and field use activities, is employed in the study together with the experiment designed in order to consider different circumstances under which the mentioned process operates. The study recommends concluding the reinspection decision by comparing inspection effectiveness measure for major defects with respect to a moderately high threshold value (i.e. 75%). The study also reveals that applying default decisions of &lsquo / Never Reinspect&rsquo / and &lsquo / Always Reinspect&rsquo / do not exhibit the most appropriate outcomes regarding cost, schedule, and quality. Additionally, the study presents suggestions for further improving the cost, schedule, and quality of the software based on the analysis of the experiment factors.
3

Implementação de uma metodologia de desenvolvimento de software embarcado baseado em modelos de computação e sua aplicação em um medidor de energia como prototipo alvo

Torres, Weslley Medeiros January 2015 (has links)
Orientador: Prof. Dr. Carlos Eduardo Capovilla / Dissertação (mestrado) - Universidade Federal do ABC, Programa de Pós-Graduação em Engenharia Elétrica, 2015. / O desenvolvimento de software embarcado se tornou um gargalo para a introdu- ¸c¿ao de produtos complexos no mercado, como os sistemas de automa¸c¿ao, ve'ýculo, aeronaves e plantas industriais de controle, pois, dever'a interagir com processos f'ýsicos garantindo suporte 'a opera¸c¿ao em tempo real e de forma concorrente, ainda mantendo os custos reduzidos. Com isso, o n'ývel de integra¸c¿ao conseguido com sistemas embarcados 'e ainda maior, e aumentando a complexidade do desenvolvimento do software. Portanto, uma metodologia efetiva deve ser estabelecida em todos os est'agios, envolvendo ferramentas de software que suportem a gera¸c¿ao autom'atica ou semi-autom'atica de c'odigo, al'em da possibilidade de reuso de c'odigo. O desenvolvimento baseado em modelos tem sido empregado com sucesso na implementa¸c¿ao de sistemas de software de uso geral e com isso reduzindo o n'umero de erros e reduzindo os ciclos e custos, surgindo como uma solu¸c¿ao para os problemas de desenvolvimento de software embarcado dentro da academia e ind'ustria. Devido a utilizar um ambiente de desenvolvimento unificado, pode ser utilizado como uma ferramenta de comunica¸c¿ao e desenvolvimento atrav'es das diferentes disciplinas de engenharia. O objetivo principal da metodologia 'e a mudan¸ca de paradigma de desenvolvimento de software de forma manual a partir de especifica¸c¿oes informais para a captura de requisitos funcionais e n¿ao funcionais do software embarcado a partir de modelos matem'aticos do sistema. Claramente, um modelo matem'atico oferece um modo comum para a integra¸c¿ao sistem'atica e coerente dos diferentes esfor¸cos na especifica¸c¿ao do sistema, projeto, s'ýntese (gera¸c¿ao de c'odigo), an'alise (valida¸c¿ao), execu¸c¿ao e manuten¸c¿ao(evolu¸c¿ao do projeto). Esse trabalho emprega a metodologia de desenvolvimento baseada em modelos de computa¸c¿ao para o desenvolvimento de um medidor de energia, composto por um microcontrolador e hardware espec'ýfico para a medi¸c¿ao de consumo de energia el'etrica. Ao final ser¿ao disponibilizados os dados de testes comparativos entre o medidor de precis¿ao de energia el'etrica WT3000 da Yokogawa e o prot'otipo desenvolvido, para a valida¸c¿ao da metodologia no prot'otipo desenvolvido. / Embedded software design has become the bottleneck in the market introduction of complex products such as automation systems, automobiles, airplanes, and industrial control plants, it must interact with physical processes guaranteeing support for hard real-time operation and concurrency, also, with tight cost. Furthermore, the level of integration with embedded system is even bigger, increasing software development complexity. Due to the increasing complexity and shrinking time-to-market, an effective methodology must at all stages involve automatic and semi-automatic support by software tools and favor code re-use. Model-based desing has been successfully used for development of general-purpose software systems and it is known to reduce development errors, shorten development cycles and thereby decrease overall development costs, emerging as a solution to embedded software design issues as witnessed by both accademic and industrial efforts, also uses a common environment for design and communication throughout the different engineering disciplines. The core principle of this methodology is to move away from manual coding from informal specifications by capturing embedded software functional and nonfunctional requirements from abstract mathematical models. Clearly, a mathematical model offers a common ground for a systematic and coherent integration of diverse efforts in system specification, design, synthesis (code generation), analysis (validation), execution (runtime support), and maintenance (design evolution). The present work investigates the application of software model based development for an energy meter, which is composed by a microcontroller and some specific hardware peripherals to measure electricity usage. At the end it will be conducted comparative tests between the energy power meter WT3000 from Yokogawa and the developed energy meter, to validate the used methodology into developed energy meter.
4

A Model for Evaluating the Effectiveness of an Undergraduate Curriculum in Teaching Software Code Quality

Banik, Paromita January 2020 (has links)
Developers build an entire software by writing quality code, the failure of which can risk organizational reputation, financial wellbeing, and even the lives and security of people. The ability to develop high quality code is therefore a key learning goal of foundational undergraduate computing programmes. However, how effective these undergraduate computing curriculums are in teaching software code quality is a matter of concern as this leads to raising the knowledge of future software developers. Right now, there is a lack of models to evaluate this effectiveness of undergraduate curriculum in providing the knowledge of software code quality to students.In this thesis, we suggest a model for evaluating the effectiveness of undergraduate curriculum in teaching software code quality, which we call ScQUc (Software Code Quality in Undergraduate Curriculum). Our goal is to raise the knowledge and awareness of teaching software code quality in education and make the undergraduate computing curriculum more software code quality centric.Due to the fact that there is a lack of models for evaluating the effectiveness of undergraduate curriculum in teaching software code quality, we had no closely related work to base our research on. We had to rely on other works related to code quality in programming courses that were indirectly connected to our research field. Hence, we dare infer that the ScQUc model was created from scratch.The research method used was qualitative and followed the frame of design science. Data collection was conducted via literature study and via interviews with two experts in the field. The interviewees were selected with the convenience sampling method enhanced with a predefined selection criterion. Data evaluation, on the other hand, was conducted using an evaluation model. The evaluation model included the following evaluation criteria: (1) interviewee credibility, (2) correctness, (3) flexibility, (4) usefulness and (5) experience. One round of interview was conducted with each of the interviewees which resulted in the improvement of the ScQUc model.The ScQUc model consists of a checklist of code quality characteristics and a sequence of activities to be conducted in order to evaluate the effectiveness of an undergraduate curriculum in teaching software code quality. The results of the evaluation of the ScQUc model inferred that the ScQUc model was correct and useful for the academia. Hence, we believe that the ScQUc model is a valid solution for evaluating the effectiveness of undergraduate curriculum in teaching software code quality. Still, however, the ScQUc model needs further evaluation and extension in form of specifications aiding deeper understanding of code quality, how to teach code quality, and to what extent to teach code quality. / Utvecklare bygger hela programvaran genom att skriva kvalitetskod, vars fel kan riskera organisatoriskt rykte, ekonomiskt välbefinnande och till och med människors liv och säkerhet. Förmågan att utveckla kod av hög kvalitet är därför ett viktigt inlärningsmål för grundläggande grundutbildningsprogram. Hur effektiva dessa läroplaner för grundutbildning är för att undervisa programkodkvalitet är emellertid en oro eftersom det leder till att kunskapen hos framtida programutvecklare ökar. Just nu saknas modeller för att utvärdera denna effektivitet i grundutbildningen för att ge studenterna kunskap om mjukvarukodkvalitet.I den här avhandlingen föreslår vi en modell för att utvärdera effektiviteten för grundutbildningen i undervisning av programkodkvalitet, som vi kallar ScQUc (Software Code Quality in Undergraduate Curriculum). Vårt mål är att öka kunskapen och medvetenheten om att undervisa programvarukodkvalitet i utbildningen och göra grundutbildningsberäkningen mer programvarukodkvalitet centrerad.På grund av bristen på modeller för att utvärdera effektiviteten i grundutbildningen i undervisning av programvarukodkvalitet, hade vi inget nära besläktat arbete att basera vår forskning på. Vi var tvungna att lita på andra verk relaterade till kodkvalitet i programmeringskurser som indirekt var kopplade till vårt forskningsområde. Därför drar vi slutsatsen att ScQUc-modellen skapades från grunden.Den använda metoden var kvalitativ och följde ramverket för designvetenskap. Datainsamlingen genomfördes genom litteraturstudie och genom intervjuer med två experter på området. Intervjuerna valdes med hjälp av metoden för provtagning av bekvämlighet förbättrad med ett fördefinierat urvalskriterium. Datautvärdering genomfördes å andra sidan med hjälp av en utvärderingsmodell. Utvärderingsmodellen inkluderade följande utvärderingskriterier: (1) intervjuarens trovärdighet, (2) korrekthet, (3) flexibilitet, (4) användbarhet och (5) erfarenhet. En intervjuomgång genomfördes med var och en av de intervjuade som resulterade i förbättringen av ScQUc-modellen.ScQUc-modellen består av en checklista med egenskaper för kodkvalitet och en sekvens av aktiviteter som ska genomföras för att utvärdera effektiviteten hos en grundutbildningsprogram i undervisning av programkodkvalitet. Resultaten av utvärderingen av ScQUc-modellen drar slutsatsen att ScQUc-modellen var korrekt och användbar för akademin. Därför tror vi att ScQUc-modellen är en giltig lösning för att utvärdera effektiviteten för grundutbildningen i undervisning av programvarukodkvalitet. Men ändå behöver ScQUc-modellen ytterligare utvärdering och utvidgning i form av specifikationer som hjälper djupare förståelse för kodkvalitet, hur man undervisar i kodkvalitet och i vilken utsträckning man ska lära ut kodkvalitet.
5

Investigating Metrics that are Good Predictors of Human Oracle Costs An Experiment

Kartheek arun sai ram, chilla, Kavya, Chelluboina January 2017 (has links)
Context. Human oracle cost, the cost associated in estimating the correctness of the output for the given test inputs is manually evaluated by humans and this cost is significant and is a concern in the software test data generation field. This study has been designed in the context to assess metrics that might predict human oracle cost. Objectives. The major objective of this study is to address the human oracle cost, for this the study identifies the metrics that are good predictors of human oracle cost and can further help to solve the oracle problem. In this process, the identified suitable metrics from the literature are applied on the test input, to see if they can help in predicting the correctness of the output for the given test input. Methods. Initially a literature review was conducted to find some of the metrics that are relevant to the test data. Besides finding the aforementioned metrics, our literature review also tries to find out some possible code metrics that can be ap- plied on test data. Before conducting the actual experiment two pilot experiments were conducted. To accomplish our research objectives an experiment is conducted in the BTH university with master students as sample population. Further group interviews were conducted to check if the participants perceive any new metrics that might impact the correctness of the output. The data obtained from the experiment and the interviews is analyzed using linear regression model in SPSS suite. Further to analyze the accuracy vs metric data, linear discriminant model using SPSS pro- gram suite was used. Results.Our literature review resulted in 4 metrics that are suitable to our study. As our test input is HTML we took HTML depth, size, compression size, number of tags as our metrics. Also, from the group interviews another 4 metrics are drawn namely number of lines of code and number of <div>, anchor <a> and paragraph <p> tags as each individual metric. The linear regression model which analyses time vs metric data, shows significant results, but with multicollinearity effecting the result, there was no variance among the considered metrics. So, the results of our study are proposed by adjusting the multicollinearity. Besides, the above analysis, linear discriminant model which analyses accuracy vs metric data was conducted to predict the metrics that influences accuracy. The results of our study show that metrics positively correlate with time and accuracy. Conclusions. From the time vs metric data, when multicollinearity is adjusted by applying step-wise regression reduction technique, the program size, compression size and <div> tag are influencing the time taken by sample population. From accuracy vs metrics data number of <div> tags and number of lines of code are influencing the accuracy of the sample population.
6

Rozšíření nástroje pro podporu agilního vývoje softwaru / Upgrade of Agile Development Support Tool

Trávník, Petr January 2014 (has links)
The goal of the diploma thesis "Upgrade of agile development support tool" is to study agile methodologies and its use in practice. Thesis is focused on the Scrum framework used by The Corporate Technology department of Siemens, s.r.o. in Brno. Furthermore the thesis analyzes and compares the most used software support tools for agile methodologies which also gives an inspiration for the upgrade of support tool used by the department of Siemens. Thesis identifies possible upgrades based on an analysis with the goal to make agile development even more effective. Results were consulted with the representative of the Siemens company and then modules for Code review and Retrospective were chosen to implement. Implementation consists even of some minor upgrades of the tool. Goals of all implemented upgrades were to save time, optimize administrative work and make development even more effective. Benefits and further upgrades are consulted at the end of the thesis.
7

Průzkum vlastnictví kódu ve velké organizaci / Code Ownership Research in Large Organization

Šimonek, Jan January 2015 (has links)
This master's thesis is about code ownership in software projects and creating a tool that would improve cooperation by identifying code owners. The theoretical foundation for code ownership starts from Extreme Programming, explaining models of code ownership and the impact of code ownership on cooperation among teams and team members. The concept is demonstrated on a concrete software firm, where a potential for improvement is identified. The potential is exploited by a software tool, which is designed in the this thesis. The tool is capable of identifying code owners and experts for specific areas in the code based on data gathered from a version control system. The resulting information is made easily accessible. The tool is used to conduct a code ownership research in several projects, which allows me to confirm accuracy of the results. Usability and benefits of the tool is discussed in the final chapter.

Page generated in 0.0766 seconds