1 |
Towards a self-evolving software defect detection processYang, Ximin 15 August 2007
Software defect detection research typically focuses on individual inspection and testing techniques. However, to be effective in applying defect detection techniques, it is important to recognize when to use inspection techniques and when to use testing techniques. In addition, it is important to know when to deliver a product and use maintenance activities, such as trouble shooting and bug fixing, to address the remaining defects in the software.<p>To be more effective detecting software defects, not only should defect detection techniques be studied and compared, but the entire software defect detection process should be studied to give us a better idea of how it can be conducted, controlled, evaluated and improved.<p>This thesis presents a self-evolving software defect detection process (SEDD) that provides a systematic approach to software defect detection and guides us as to when inspection, testing or maintenance activities are best performed. The approach is self-evolving in that it is continuously improved by assessing the outcome of the defect detection techniques in comparison with historical data.<p>A software architecture and prototype implementation of the approach is also presented along with a case study that was conducted to validate the approach. Initial results of using the self-evolving defect detection approach are promising.
|
2 |
Towards a self-evolving software defect detection processYang, Ximin 15 August 2007 (has links)
Software defect detection research typically focuses on individual inspection and testing techniques. However, to be effective in applying defect detection techniques, it is important to recognize when to use inspection techniques and when to use testing techniques. In addition, it is important to know when to deliver a product and use maintenance activities, such as trouble shooting and bug fixing, to address the remaining defects in the software.<p>To be more effective detecting software defects, not only should defect detection techniques be studied and compared, but the entire software defect detection process should be studied to give us a better idea of how it can be conducted, controlled, evaluated and improved.<p>This thesis presents a self-evolving software defect detection process (SEDD) that provides a systematic approach to software defect detection and guides us as to when inspection, testing or maintenance activities are best performed. The approach is self-evolving in that it is continuously improved by assessing the outcome of the defect detection techniques in comparison with historical data.<p>A software architecture and prototype implementation of the approach is also presented along with a case study that was conducted to validate the approach. Initial results of using the self-evolving defect detection approach are promising.
|
3 |
Supporting Project Tasks, Resources, Documents, and Defects Analysis in Software Project ManagementJaber, Khaled M. 19 September 2016 (has links)
No description available.
|
4 |
Formal Methods For Verification Based Software InspectionPowell, Daniel, n/a January 2003 (has links)
Useful processes, that are independently repeatable, are utilised in all branches of science and traditional engineering disciplines but seldom in software engineering. This is particularly so with processes used for detection and correction of defects in software systems. Code inspection, as introduced by Michael Fagan at IBM in the mid 1970's is widely recognised as an effective technique for finding defects in software. Despite its reputation, code inspection, as it is currently practiced, is not a strictly repeatable process. This is due to the problems faced by inspectors when they attempt to paraphrase the complicated semantics of a unit of computer code. Verification based software inspection, as advocated by the cleanroom software engineering community, requires that arguments of correctness be formulated with the code and its specification. These arguments rely on the reader being able to extract the semantics from the code. This thesis addresses the requirement for an independently repeatable, scalable and substantially automated method for yielding semantics from computer code in a complete, unambiguous and consistent manner in order to facilitate, and make repeatable, verification based code inspection. Current literature regarding the use of code inspection for verification of software is surveyed. Empirical studies are referenced, comparing inspection to software testing and program proof. Current uses of formal methods in software engineering will be discussed, with particular reference to formal method applications in verification. Forming the basis of the presented method is a systematic, and hence repeatable, approach to the derivation of program semantics. The theories and techniques proposed for deriving semantics from program code extend current algorithmic and heuristic techniques for deriving invariants. Additionally, the techniques introduced yield weaker forms of invariant information which are also useful for verification, defect detection and correction. Methods for using these weaker invariant forms, and tools to support these methods, are introduced. Algorithmic and heuristic techniques for investigating loop progress and termination are also introduced. Some of these techniques have been automated in supporting tools, and hence, the resulting defects can be repeatably identified. Throughout this thesis a strong emphasis is placed on describing implementable algorithms to realise the derivation techniques discussed. A number of these algorithms are implemented in a tool to support the application of the verification methods presented. The techniques and tools presented in this thesis are well suited, but not limited to, supporting rigorous methods of defect detection as well as formal and semi-formal reasoning of correctness. The automation of these techniques in tools to support practical, formal code reading and correctness argument will assist in addressing the needs of trusted component technologies and the general requirement for quality in software.
|
5 |
A Quantitative Comparison of Perfective and Corrective Software MaintenanceHenry, Joel E., Cain, James P. 01 January 1997 (has links)
This paper presents a quantitative comparison of perfective and corrective software maintenance performed by a large military contractor using a formal program release process. The analysis techniques used in the comparison make use of basic data collected throughout the maintenance process. The data collected allow the impact of performing perfective and corrective maintenance to be quantitatively compared. Both parametric and non-parametric statistical techniques are applied to test relationships between and among process and product data. The results provide valuable information for predicting future process and product characteristics, assessing perfective and corrective maintenance impact, and quantitatively comparing the impact of both types of requirements volatility. The results also support one common rule of thumb, cast some doubt on another, and lead to the formulation of a new one.
|
6 |
Developing a Simplified and Consistent Defect Taxonomy for Smaller Enterprises / Att utveckla en förenklad och konsekvent defekttaxonomi för mindre företagIivanainen, Johanna January 2021 (has links)
Developing software that meets the customers’ requirements, expectations, and quality standards is a challenging task for all software organizations. As modern software becomes more and more complex, so do the defects of the software. The aim of this study was to develop a simplified and consistent defect taxonomy that could be executable and usable for smaller enterprises or organizations that want to implement a simplified taxonomy. The aim of this study was also to find characteristic defects that exist in Small- and Medium-sized Enterprises (SMEs) by using the taxonomy. A manual defect classification was done on bug reports collected from three organizations with the same company size as SMEs. An agreement analysis was also conducted in this study to investigate the consistency of the taxonomy. This was done by letting different people classify a subset of the bug reports collected for this study using the proposed taxonomy. Furthermore, in this study, I also investigated how executable and usable the taxonomy would be for smaller enterprises. This was done through four interviews and a survey with seven respondents. The result of the defect classification indicates that Program anomaly (58%), GUI (17%) and Configuration (13%) are three of the most common defect types that exist in SMEs. The result of the defect classification indicates that SMEs have a problem with defects breaking features that worked correctly before, where 19% of all bug reports used in this study were classified as Regression. The survey result indicates that taxonomy is easy to use. However, the result of the different classifications showed that the use of the taxonomy is not consistent between different classifiers. The results of the interviews and the survey indicate that the taxonomy would be executable for smaller enterprises. However, to also be fully usable, the proposed taxonomy needs to be adapted to the particular enterprise, and requires the right competence to propose appropriate measures for the particular enterprise. / Att utveckla mjukvara som möter kundernas krav, förväntningar och som håller en hög kvalité är en utmanande uppgift som alla företag står inför. Den moderna mjukvaran blir allt mer komplex, vilket i sin tur även bidrar till fler och mer komplexa mjukvarufel. Den här studien har som mål att skapa en ny förenklad och konsekvent defekttaxonomi som kan vara genomförbar och användbar för mindre företag och organisationer som vill använda sig av en enklare taxonomi. Målet med det här examensarbetet är också att kartlägga karaktäristiska mjukvarufel i små och medelstora företag med hjälp av den nyutvecklade taxonomin. För att lyckas med detta klassificerades felrapporter från tre organisationer som är av samma storlek som små och medelstora företag. Den här studien analyserade även hur konsekvent taxonomin är genom att låta olika människor klassificera en delmängd av studiens felrapporter. Den här studien undersöker även hur genomförbar och användbar defekttaxonomin är för mindre företag. Detta genomfördes genom fyra intervjuer och en enkätundersökning med sju respondenter. Resultatet av den här studien indikerar att små och medelstora företag främst har problem med mjukvarufel som ger upphov till oväntat och oönskat beteende kopplat till mjukvarans funktionalitet (58%). Den här studien indikerar även att gränssnittsdefekter (17%) och konfigureingsproblem (13%) också är vanliga mjukvarufel inom dessa organisationer. Den här studien har även uppmärksammat att mindre företag kan ha problem med mjukvarufel som tar sönder funktionalitet som fungerat korrekt tidigare, även kallad regressioner, där 19% av alla felrapporter blev klassificerade som det. Resultatet av enkätundersökningen indikerar att taxonomin är enkel att använda. Å andra sidan, de olika klassifikationerna visade att användningen av taxonomin inte var konsekvent. Resultatet av intervjuerna och enkätundersökningen indikerar att taxonomin är genomförbar för mindre företag. Å andra sidan, för att defekttaxonomin ska vara användbar behöver den anpassas efter det särskilda företaget. Den kräver även den rätta kompetensen för att ta fram lämpliga åtgärden för det särskilda företaget.
|
Page generated in 0.0515 seconds