712 research outputs found

    Investigating Effective Inspection of Object-Oriented Code

    Get PDF
    Since the development of software inspection over twenty-five years ago it has become established as an effective means of detecting defects. Inspections were originally developed at a time when the procedural paradigm was dominant but, with the Object- Oriented (OO) paradigm growing in influence and use, there now exists a lack of guidance on how to apply inspections to OO systems. Object-oriented and procedural languages differ not only in their syntax but also in a number of more profound ways - the encapsulation of data and associated functionality, the common use of inheritance, and the concepts of polymorphism and dynamic binding. These factors influence the way that modules (classes) are created in OO systems, which in turn influences the way that OO systems are structured and execute. Failure to take this into account may hinder the application of inspections to OO code. This thesis shows that the way in which the objectoriented paradigm distributes related functionality can have a serious impact on code inspection and, to address this problem, it develops and empirically evaluates three code reading techniques

    Analysis of inspection technique performance

    Get PDF
    Inspection techniques are strategies for analysing software artefacts. These techniques provide guidelines for examining the software documentation and identifying defects. These guidelines consist of a series of heuristics to help reviewers to read and understand the artefact that they are analysing. A number of researchers have now developed experimental studies to compare the performance of the different techniques in an attempt to find out what is the best strategy to adopt in which cases. In this work, we conduct a systematic review of the effectiveness and efficiency of inspection techniques following Kitchenham’s recommendations.VI Workshop Ingeniería de Software (WIS)Red de Universidades con Carreras en Informática (RedUNCI

    Towards a self-evolving software defect detection process

    Get PDF
    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.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.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.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

    The Impact of Background and Experience on Software Inspections

    Get PDF
    This dissertation is an initial study into the relationship between an inspector's characteristics and his or her effectiveness in an inspection. Research has shown that improving the individual effectiveness of the inspectors improves the overall effectiveness of an inspection team. But, the performance of inspectors varies widely, even when using the same inspection technique. This variation is often due to the inherent differences among the inspectors who used the technique. In order to better understand this variation and provide guidance to inspection planners, this dissertation has focused on the background and experience of the inspector as the source of variation. To study this issue I used a novel approach for software engineering, grounded theory. This methodology allowed hypotheses to be built both top-down, from the literature, as well as bottom-up, using data. The literature portion came from software engineering as well as education and psychology. The data portion came from both existing studies and newly designed studies. The data from existing studies allowed the initial hypotheses to become more concrete. Once some of the hypotheses had support from data, the final step was to design studies to test a subset of the hypotheses. I designed and ran two studies to test the selected hypotheses. The goal of the first study was to understand the type and level of experience with the software inspection process that was necessary. The earlier data had shown that process experience was important, but the effect of the type and level of experience was still unclear. The goal of the second study was to understand the interaction between an inspector's software development experience and the level of detail required in an inspection process. The earlier data had shown some indications that for experienced inspectors too much detail reduced the number of defects found, while less experienced inspectors needed more detail to overcome their lack of experience and find more defects. This dissertation presents complete list of hypotheses and the results of these studies along with some specific suggestions for both researchers and practitioners

    Investigation of individual factors impacting the effectiveness of requirements inspections: a replicated experiment

    Get PDF
    Cataloged from PDF version of article.This paper presents a replication of an empirical study regarding the impact of individual factors on the effectiveness of requirements inspections. Experimental replications are important for verifying results and investigating the generality of empirical studies. We utilized the lab package and procedures from the original study, with some changes and additions, to conduct the replication with 69 professional developers in three different companies in Turkey. In general the results of the replication were consistent with those of the original study. The main result from the original study, which is supported in the replication, was that inspectors whose degree is in a field related to software engineering are less effective during a requirements inspection than inspectors whose degrees are in other fields. In addition, we found that Company, Experience, and English Proficiency impacted inspection effectiveness

    Experimental Evaluation of a Checklist-Based Inspection Technique to Verify the Compliance of Software Systems with the Brazilian General Data Protection Law

    Full text link
    Recent laws to ensure the security and protection of personal data establish new software requirements. Consequently, new technologies are needed to guarantee software quality under the perception of privacy and protection of personal data. Therefore, we created a checklist-based inspection technique (LGPDCheck) to support the identification of defects in software artifacts based on the principles established by the Brazilian General Data Protection Law (LGPD). Objective/Aim: To evaluate the effectiveness and efficiency of LGPDCheck for verifying privacy and data protection (PDP) in software artifacts compared to ad-hoc techniques. Method: To assess LGPDCheck and ad-hoc techniques experimentally through a quasi-experiment (two factors, five treatments). The data will be collected from IoT-based health software systems built by software engineering students from the Federal University of Rio de Janeiro. The data analyses will compare results from ad-hoc and LGPDCheck inspections, the participant's effectiveness and efficiency in each trial, defects' variance and standard deviation, and time spent with the reviews. The data will be screened for outliers, and normality and homoscedasticity will be verified using the Shapiro-Wilk and Levene tests. Nonparametric or parametric tests, such as the Wilcoxon or Student's t-tests, will be applied as appropriate.Comment: Registered Report accepted for presentation at 17th ACM/IEEE International Symposium on Empirical Software Engineering and Measurement. New Orleans, Louisiana, United State

    Fully Employing Software Inspections Data

    Get PDF
    Software inspections provide a proven approach to quality assurance for software products of all kinds, including requirements, design, code, test plans, among others. Common to all inspections is the aim of finding and fixing defects as early as possible, and thereby providing cost savings by minimizing the amount of rework necessary later in the lifecycle. Measurement data, such as the number and type of found defects and the effort spent by the inspection team, provide not only direct feedback about the software product to the project team but are also valuable for process improvement activities. In this paper, we discuss NASA's use of software inspections and the rich set of data that has resulted. In particular, we present results from analysis of inspection data that illustrate the benefits of fully utilizing that data for process improvement at several levels. Examining such data across multiple inspections or projects allows team members to monitor and trigger cross project improvements. Such improvements may focus on the software development processes of the whole organization as well as improvements to the applied inspection process itself
    • …
    corecore