41 |
The role of commitment in software process improvementAbrahamsson, P. (Pekka) 14 June 2002 (has links)
Abstract
Software process improvement (SPI) approaches have been designed to produce changes at many levels, i.e. in the strategies, culture and working practices, of software development. Studies have shown that nearly two thirds of all SPI efforts have failed or fallen short of expectations. It is often stated in SPI-related literature and practice that "commitment" to SPI plays an important part in determining whether an SPI endeavor ultimately becomes a success or a failure. However, it often remains unclear what this concept actually means and how it affects SPI.
This thesis argues for a scientifically grounded concept of commitment and delivers a description and a definition of this concept in the context of software process improvement. The elaboration of the concept is based on a literature study, which makes the research done in behavioral psychology and organizational science applicable in the field of software process improvement. This thesis shows that current thinking relies on practical models of commitment, and the empirically validated analysis conducted within this study reveals a number of common misleading assumptions regarding the notion and development of commitment in SPI. On this basis, this thesis suggests that the commitment phenomenon is better explained through what can be called strategic, operational and personal commitment nets. This framework can be used for analyzing the unfolding and alteration of commitment towards a specific entity, in this case a software process improvement endeavor, through time and changing circumstances.
The viability and usefulness of the commitment nets framework is demonstrated through an analysis of four SPI cases in two software organizations. As a result, it is shown that even though the objective features of SPI in terms of costs and benefits may be dominating in the project initiation phase, their role tends to lose strength later on due to an inability of the SPI effort to produce quick and meaningful results, even if these are explicitly sought for. This phenomenon gives rise to a need for enhancing the role of social and psychological drivers. If this is not achieved, SPI activities are likely to cease to exist.
The empirical analysis demonstrates that the use of the commitment nets model enables a more precise analysis of the various aspects involved in the commitment phenomenon than what would have been possible with current commitment models. Commitment, as conceptualized and operationalized in this thesis, makes a significant contribution to the outcome of the SPI initiative. The empirical evidence shows that, eventually, even well-planned SPI initiatives may fail to reach the goals set for them due to changes in commitment nets.
|
42 |
Contract-based verification and test case generation for open systemsDeng, Xianghua January 1900 (has links)
Doctor of Philosophy / Department of Computing and Information Sciences / John M. Hatcliff / Current practices in software development heavily emphasize the development of reusable
and modular software, which allow software components to be developed and maintained independently.
While a component-oriented approach offers a number of benefits, it presents several
quality assurance challenges including validating the correctness of individual components as well
as their integration. Design-by-contract (DBC) offers a promising solution that emphasizes precisely
defined and checkable interface specifications for software components. However, existing
tools for the DBC paradigm often have some weaknesses: (1) they have difficulty in dealing with
dynamically allocated data; (2) specification and checking efforts are disconnected from quality
assurance tools; and (3) user feedback is quite poor.
We present Kiasan, a framework that synergistically combines a number of automated reasoning
techniques including symbolic execution, model checking, theorem proving, and constraint
solving to support design-by-contract reasoning of object-oriented programs written in languages
such as Java and C#. Compared to existing approaches to Java contract verification, Kiasan can
check much stronger behavioral properties of object-oriented software including properties that
make extensive use of heap-allocated data and provide stronger coverage guarantees. In addition,
Kiasan naturally generates counter examples illustrating contract violations, visualization of code
effects, and JUnit test cases that are driven by code and user-supplied specifications. Coverage/-
cost trade-offs are controlled by user-specified bounds on the length of heap-reference chains and
number of loop iterations. Kiasan’s unit test case generation facilities compare very favorably
with similar tools. Finally, in contrast to other approaches based on symbolic execution, Kiasan
has a rigorous foundation: we have shown that Kiasan is relatively sound and complete and the
test case generation algorithm is sound.
|
43 |
Correlation of Software Quality Metrics and PerformanceBurdett, Yan Liu 01 January 2012 (has links)
Performance is an aspect of software quality that is often not considered at early stages of software design. Common approaches to performance analysis include utilizing profiling tools after the software has been developed to find bottlenecks and executing simulation models that are either manually constructed or derived from UML design diagrams. Many projects attempt to correct performance issues by adding more powerful hardware instead of attacking the root cause. Software metrics have been used to predict many aspects of software quality such as maintainability and fault-tolerance by correlation and regression analysis. Metrics proposed by Chidamber and Kemerer, also known as the CK metric suite, have been studied extensively in software quality model analyses. These studies examined maintainability, fault tolerance, error proneness, and scalability of the software as it evolved through time. Correlations were made between metrics and the likely quality models they represented. Other metrics such as Cyclomatic Complexity by McCabe and class couplings by Martin have also been used in quality predictions. No research has been conducted to analyze relationship between performance and metrics. The goal of this research was to construct a decision tree that used software metrics to forecast performance characteristics. The relationship between metrics and performance was derived by correlation between static code metrics and three runtime variables: number of objects, method call frequency, and average method call lengths on selected software benchmarks. The decision tree was constructed using the C4.5 algorithm implemented in the WEKA software. Pearson correlation coefficients were obtained for the combined datasets from all benchmarks. The decision trees and Pearson statistics showed that weighted methods per class (WMC), total lines of code (TLOC), and coupling between objects (CBO) have significant correlation with software performance. WMC showed positive correlation with number of objects and calls. CBO correlated positively with average method call lengths and negatively with number of objects. TLOC correlated positively with number of calls.
|
44 |
A Conceptual Framework for Distributed Software Quality NetworkPatil, Anushka H. 08 1900 (has links)
Indiana University-Purdue University Indianapolis (IUPUI) / The advancement in technology has revolutionized the role of software in recent years. Software usage is practically found in all areas of the industry and has become a prime factor in the overall working of the companies. Simultaneously with an increase in the utilization of software, the software quality assurance parameters have become more crucial and complex. Currently the quality measurement approaches, standards, and models that are applied in the software industry are extremely divergent. Many a time the correct approach will wind up to be a combination of di erent concepts and techniques from di erent software assurance approaches [1]. Thus, having a platform that provides a single workspace for incorporating multiple software quality assurance approaches will ease the overall software quality process. In this thesis we have proposed a theoretical framework for distributed software quality assurance, which will be able to continuously monitor a source code repository; create a snapshot of the system for a given commit (both past and present); the snapshot can be used to create a multi-granular blockchain of the system and its metrics (i.e.,metadata) which we believe will let the tool developers and vendors participate continuously in assuring quality and security of systems and in the process be accessible when required while being rewarded for their services.
|
45 |
Assessing Software Defects using Nano-Patterns DetectionDeo, Ajay Kumar 09 May 2015 (has links)
Defects in software systems directly impact a product’s quality and overall customer satisfaction. Assessing defective code for the purpose of locating vulnerable areas and improving software quality and reliability is important for sustained software development efforts. Over the years, various techniques have been used to determine the likelihood that code fragments contain defects, such as identifying code smells, but these techniques have drawbacks. There is a need for better approaches. This thesis assesses software defects using nano-patterns by demonstrating that certain categories of nano-patterns are more defect-prone than others. We studied three open source systems from the Apache Software Foundation and found that ObjectCreator, FieldReader, TypeManipulator, Looping, Exceptions, LocalReader, and LocalWriter nano-patters are more defect-prone than others. Apart from assessing software defects, we expect this new finding will contribute to further research on other applications of nano-patterns and improve coding practices.
|
46 |
Evaluation of different runner set-ups for CI/CD pipelines / Utvärdering av olika runnerkonfigurationer för CI/CD-pipelinesJonsson Wold, Sindre January 2022 (has links)
DevOps and continuous practices are increasingly popular development practices aiming at bridging the gap between software development and IT operations with the indented outcome of shorter development life cycles while maintaining a high software quality. A fundamental part of many DevOps systems is a CI/CD (continuous integration/deployment) pipeline allowing for automatic building, testing and deployment of software. The use of continuous practices have been shown to achieve the desired outcomes, whereas the adopting of such practices has been attributed with the challenges of lacking expertise and skill as well as lacking available tools and technology. Execution of commands in a CI/CD pipeline are handled by a runner application, which can be configured in different ways allowing for different levels of the quality attributes performance, response time, throughput, robustness, stability, resource constraints, cost and maintainability. Five different types of runner infrastructure were implemented and evaluated on the quality attributes. These were: one single-machine implementation, one serverless implementation and three autoscaling implementations. For robustness and stability autoscaling implementations achieved the best results. Performance and throughput were affected by resource constraints which in turn affected the cost. Similar results were found for response time for all but one of the three autoscaling implementations, and for the serverless implementation. Finally, all implementations had similar results for reliability.
|
47 |
Impact of Continuous Integration on Software Quality and ProductivityBhattacharya, Arka January 2014 (has links)
No description available.
|
48 |
Application of computational quality attributes in a distributed application environmentStubbs, Rodrick Keith 01 October 2002 (has links)
No description available.
|
49 |
Impact of coordination challenges on quality of global software development projectsNekkanti, Lakshmi Sowjanya January 2016 (has links)
Context. Global software development (GSD) gained huge recognition in today’s business world. Most of the software companies day by day are striving hard to evolve globally where software is developed in the context of different environmental settings that are distanced on various factors like geography, timezone, culture and language. Coordination is the factor that plays one of the prominent roles in such a setting for effective teamwork and project success. Although numerous efforts has been done in this research area, there has been no proper evidence from industry about the impact of these coordination challenges on the overall quality of the software when being developed in a distributed setting. Objectives. The purpose of this study is to examine and identify the coordination challenges and risks faced in global software development projects that has a negative impact on the quality of software from practitioner’s perspective. It also identify the tools, methods, and techniques that are used in industry to overcome these challenges and maintain quality standards. Methods. The aims and objectives of our study are fulfilled by conducting survey among practitioners working in GSD projects all around the globe. Further, 10 interviews are conducted with practitioners working in different companies and geographical locations in order to gain a detailed understanding of the impact of identified coordination challenges on the quality of software in GSD projects. Results. A total of 50 survey responses are recorded, out of which 48 respondents specify that coordination challenges has a negative impact on software quality in GSD context. By the ratings given by the participants, we identified the challenges and risks that had a major impact. Mixed results are obtained during interviews where most of them prioritized coordination as a major problem in GSD projects. It also included that use of some tools, methods and processes help them in overcoming this issue. The quality attributes that are mostly affected due to the challenges in GSD projects are also identified. Conclusions. After the analysis of survey results, the coordination challenges and associated risks in GSD projects are identified. They were found to havemostly negative impact on software quality. After thematic analysis of interview results, we observed that though the impact of coordination challenges is negative, its extent of implication is moderate in most cases.
|
50 |
Podpora řízení softwarové kvality v malé firmě / Support of software quality management in a small companyVávra, Pavel January 2009 (has links)
The goal of this thesis is to create a proposal of framework which can be used to support software quality management in a small development company. Framework is composed of processes, methodologies and tools which together should improve the quality of software products of a company. Concrete implementation of the framework is shown as a case study. Data for the case study were collected in the company Cleverbee, where the author worked during the case study's creation. Personal contribution of the author of the thesis is firstly the creation of the framework concept based on author's experiences and commented list of concrete results of framework's implementation. The detailed goal setting for this thesis and the definition of the target reader can be found in the chapter 1. Introduction. The definition of main terms, which will appear in the rest of the thesis, is contained in the chapter 2. Terms. Chapter 3. Software quality and its definition is explains the term "software quality" and the nature of the small companies. Chapter 4. Software quality management forms the theoretical foundation of the thesis. In this chapter you find how the methodologies RUP and CMMI view the software quality. Chapter 5. Framework concept contains the concept of the software quality management framework. Framework is based upon relevant sources and also author's personal experience. The chapter 6. Case study describes the concrete example of the implementation of the proposed framework. The case study also contains descriptions of the used software tools. The chapter 7. Conclusion contains the brief resume of the findings of the thesis.
|
Page generated in 0.4526 seconds