12 research outputs found

    An Empirical Study of Process Discipline and Software Quality

    Get PDF
    There is a widespread, but not universal, belief in the software community that software organizations and projects can systematically improve their ability to meet commitments and build high-quality products using principles of software quality management. Quality affects cost and schedule, therefore the engineering practices that affect quality are also a management concern. Understanding the factors that influence software quality is crucial to the continuing maturation of the software industry; an improved understanding of software quality drivers will help software engineers and managers make more informed decisions in controlling and improving the software process.My research is motivated by a desire to understand the effect of disciplined processes and effective teams on improving performance and lessening variability with respect to software quality. Classroom data provides insight into interpersonal differences between competent professionals as increasingly disciplined processes are adopted. Project data using similar processes enables an exploration of the impact of effective teams on software quality.My results show that:* Program size, programmer ability, and disciplined processes significantly affect software quality.* Factors frequently used as surrogates for programmer ability, e.g., years of experience, and technology, e.g., programming language, do not significantly impact software quality.* Recommended practices are not necessarily followed even when processes are consistently performed, e.g., peer reviews may be consistently performed, but the review rates may exceed recommended practice for effective reviews.* When moving from ad hoc processes to disciplined processes, top-quartile performers improve more than 2X; bottom-quartile performers improve more than 4X. * Rigorous statistical techniques that allow for individual differences confirm the importance of process discipline and following recommended practice for improving software quality

    Perpetual requirements engineering

    Get PDF
    This dissertation attempts to make a contribution within the fields of distributed systems, security, and formal verification. We provide a way to formally assess the impact of a given change in three different contexts. We have developed a logic based on Lewis’s Counterfactual Logic. First we show how our approach is applied to a standard sequential programming setting. Then, we show how a modified version of the logic can be used in the context of reactive systems and sensor networks. Last but not least we show how this logic can be used in the context of security systems. Traditionally, change impact analysis has been viewed as an area in traditional software engineering. Software artifacts (source code, usually) are modified in response to a change in user requirements. Aside from making sure that the changes are inherently correct (testing and verification), programmers (software engineers) need to make sure that the introduced changes are coherent with those parts of the systems that were not affected by the artifact modification. The latter is generally achieved by establishing a dependency relation between software artifacts. In rough lines, the process of change management consists of projecting the transitive closure of the this dependency relation based on the set of artifacts that have actually changed and assessing how the related artifacts changed. The latter description of the traditional change management process generally occurs after the affected artifacts are changed. Undesired secondary effects are usually found during the testing phase after the changes have been incorporated. In cases when there is certain level of criticality, there is always a division between production and development environments. Change management (either automatic, tool driven, or completely manually done) can introduce extraneous defects into any of the changed software life-cycle artifacts. The testing phase tries to eradicate a relatively large portion of the undesired defects introduced by change. However, traditional testing techniques are limited by their coverage strength. Therefore, even when maximum coverage is guaranteed there is always the non-zero probability of having secondary effects prior to a change

    Adoption of free desktop open source software in developing countries in Africa : a case of Kenyan University students

    Get PDF
    Open source products such as software development tools and server applications are gaining popularity among expert users. There is however a notable lag in adoption of desktop open source software among ordinary users especially in Africa. A number of critical factors such as performance expectancy, effort expectancy and facilitating conditions have been suggested as the determinants of Information and Communication Technologies adoption in general. This study deemed it important to establish if the above factors are the determinants of desktop open source software adoption in Africa. The study aimed to establish the Open Source Software adoption levels among university students in Kenya as well as the factors affecting Open Source Software adoption in this population. The author further aimed to assess the applicability of popular technology acceptance models in the adoption of the software in the population under study. The study employed literature review, quantitative and qualitative approaches. The study also used both descriptive and explanatory research designs in answering the research questions. The Extended Unified Theory of Acceptance and Use of Technology was used as a theoretical framework because it has synthesised all its major predecessors and accommodated all the predecessors constructs. The other reason The Extended Unified Theory of Acceptance and Use of Technology was used is because the model was developed specifically for predicting voluntary technology adoption. This study established that the adoption of Free Open Source Software products in Kenya is very low and existing literature revealed that this is also the case in other developing countries. The study concluded that the factors affecting adoption of desktop Open Source Software by Kenyan university students are usability, user training, Open Source Software compatibility, social influence, prior experience, social economic status, job market demands, proprietary software piracy culture and patent and copyright laws. Hence the study suggested that the existing technology adoption models are not appropriate in predicting technology adoption in an Africa setup. The study proposed and validated an appropriate model that fits in this context.School of ComputingD.Phil. (Information Systems
    corecore