246,924 research outputs found

    Estimation of Defect proneness Using Design complexity Measurements in Object- Oriented Software

    Full text link
    Software engineering is continuously facing the challenges of growing complexity of software packages and increased level of data on defects and drawbacks from software production process. This makes a clarion call for inventions and methods which can enable a more reusable, reliable, easily maintainable and high quality software systems with deeper control on software generation process. Quality and productivity are indeed the two most important parameters for controlling any industrial process. Implementation of a successful control system requires some means of measurement. Software metrics play an important role in the management aspects of the software development process such as better planning, assessment of improvements, resource allocation and reduction of unpredictability. The process involving early detection of potential problems, productivity evaluation and evaluating external quality factors such as reusability, maintainability, defect proneness and complexity are of utmost importance. Here we discuss the application of CK metrics and estimation model to predict the external quality parameters for optimizing the design process and production process for desired levels of quality. Estimation of defect-proneness in object-oriented system at design level is developed using a novel methodology where models of relationship between CK metrics and defect-proneness index is achieved. A multifunctional estimation approach captures the correlation between CK metrics and defect proneness level of software modules.Comment: 5 pages, 1 figur

    Implementation of Software Process Improvement Through TSPi in Very Small Enterprises

    Get PDF
    This article shows an experience in a very small enterprise related to improving software quality in terms of test and process productivity. A customized process from the current organizational process based on TSPi was defined and the team was trained on it. The pilot project had schedule and budget constraints. The process began by gathering historical data from previous projects in order to get a measurement repository. Then the project was launched and some metrics were collected. Finally, results were analyzed and the improvements verified

    CORQ - Code Review for Quality Measurement

    Get PDF
    Trabalho de Projeto de Mestrado, Informática, 2022, Universidade de Lisboa, Faculdade de CiênciasThis report was developed based on the project held in the portuguese software company Opensoft in the context of my Master’s degree in Computer Science from September 6th 2021 to June 30th 2022. Quality and productivity are some of, if not the most important factors in any software company in today’s reality for its growth and operation. Therefore, there is a need to obtain quality and productivity metrics for the work conducted by software developers. Code Review for Quality Measurement (as will be referenced from now on as CORQ) is a tool developed from scratch by a small team in Opensoft including me, which is the software company where this tool was developed, for the purpose of this thesis, that provides metrics on the productivity and quality of software of a company’s employees, projects, or itself overall. The tool may only be used in Opensoft initially due to the interfaces that are used to obtain these metrics and the specifications needed to implement the project. This problem can be solved with future work, in case we want to expand the tool so it is usable in other software companies. CORQ intends to use multiple interfaces such as SonarQube, Jira, Confluence, Git repositories in Bitbucket and SVN repositories to obtain information about Opensoft’s artifacts and thus calculates metrics on the productivity and quality of its employees and the software produced by them. With the use of CORQ it is expected for the company’s employees to be more motivated, increasing their productivity, saving human resources, and saving analysis time spent on the software produced. CORQ can be used complementary to code reviewing and other software quality assurance techniques and software

    Applying metrics to rule-based systems

    Get PDF
    Since the introduction of software measurement theory in the early seventies it has been accepted that in order to control software it must first be measured. Unambiguous and reproducible measurements are considered to be the most useful in controlling software productivity, costs and quality, and diverse sets of measurements are required to cover all aspects of software. This paper focuses on measures for rule-based language systems and also describes a process for developing measures for other non-standard 3GL development tools. This paper uses KEL as an example and the method allows the re-use of existing measures and indicates if and where new measures are required. As software engineering continues to generate more diverse methods of system development, it is important to continually update methods of measurement and contro

    Analysis of Key Performance Indicators in Software Development

    Get PDF
    Productivity, quality, efficiency, speed and fit for purpose are the major factors to be considered in software development. Every software development company wants to develop a well performing, easy to use, effective, and efficient software. Implementing a set of key performance indicators (KPIs) helps to trace the productivity, efficiency, and quality of the software. KPIs helps to find a gap between expected and achieved productivity and quality of the software. KPIs not only find the gap, but also provide the reasons for performance deviation and ideas for improvement. The main goal of this thesis is to provide an understanding about different factors affecting software attributed such as productivity, quality, efficiency, speed and fit for purpose of software and importance of KPIs to improve these attributes of software. This thesis provides an overall view about KPIs in software development. The thesis includes the description about different factors affecting software attributes in software development process and global software development (GSD) process. This thesis also includes the analysis of the factors affecting software attributes and introducing suitable set of KPIs for each. In this thesis a brief description about importance of Capability Maturity Model Integration (CMMI) in software development is also incorporated. To achieve the goals, findings from own academic projects and previous research studies are collected, analyzed and concluded. For GSD approach, secondary data sets from two different studies are analyzed. From findings, a set of sample KPIs is suggested. The conclusion extracted from this thesis is; regular and proper measurement of productivity, quality, efficiency, and speed of the software helps to keep track on objectives. Results obtained from regular measurement also helps to take proper action in time, if the software development is deviating from predefined objectives. After reading this thesis one can get an idea about factors affecting productivity, quality, efficiency, and response time of software in different aspects, importance of KPIs in software development and a set of sample KPIs for each aspect

    Towards a Metric Suite Proposal to Quantify Confirmation Biases of Developers

    Get PDF
    The goal of software metrics is the identification and measurement of the essential parameters that affect software development. Metrics can be used to improve software quality and productivity. Existing metrics in the literature are mostly product or process related. However, thought processes of people have a significant impact on software quality as software is designed, implemented and tested by people. Therefore, in defining new metrics, we need to take into account human cognitive aspects. Our research aims to address this need through the proposal of a new metric scheme to quantify a specific human cognitive aspect, namely "confirmation bias". In our previous research, in order to quantify confirmation bias, we defined a methodology to measure confirmation biases of people. In this research, we propose a metric suite that would be used by practitioners during daily decision making. Our proposed metric set consists of six metrics with a theoretical basis in cognitive psychology and measurement theory. Empirical sample of these metrics are collected from two software companies that are specialized in two different domains in order to demonstrate their feasibility. We suggest ways in which practitioners may use these metrics to improve software development process

    Quality and productivity analysis in a very small enterprise using TSPi

    Get PDF
    This article shows the benefits of developing a software project using TSPi in a "Very Small Enterprise" based in quality and productivity measures. An adapted process from the current process based on the TSPi was defined and the team was trained in it. The pilot project had schedule and budget constraints. The workaround began by gathering historical data from previous projects in order to get a measurement repository, and then the project metrics were collected. Finally, the process, product and quality improvements were verifie

    Assessing the viability of implicitly estimated velocity for measuring the productivity of software teams

    Get PDF
    Productivity is an important aspect of any software development project as it has direct implications on both the cost of software and the time taken to produce it. Though software development as a field has evolved significantly during the last few decades in terms of development processes, best practices and the emphasis thereon, the way in which the productivity of software developers is measured has remained comparatively stagnant. Some established metrics focus on a sole activity, such as programming, which paints an incomplete picture of productivity given the multitude of different activities that a software project consists of. Others are more process-oriented — purporting to measure all types of development activities — but require the use of estimation, a technique that is both time-consuming and prone to inaccuracy. A metric that is comprehensive, accurate and suitable in today's development landscape is needed. In this thesis, we examine productivity measurement in software engineering from both theoretical and pragmatic perspectives in order to determine if a proposed metric, implicitly estimated velocity, could be a viable alternative for productivity measurement in Agile and Lean software teams. First, the theory behind measurement — terminology, data types and levels of measurement — is presented. The definition of the term productivity is then examined from a software engineering perspective. Based on this definition and the IEEE standard for validating software quality metrics, a set of criteria for validating productivity metrics is proposed. The motivations for measuring productivity and the factors that may impact it are then discussed and the benefits and drawbacks of established metrics — chief amongst which is productivity based on lines of code written — explored. To assess the accuracy and overall viability of implicitly estimated velocity, a case study comparing the metric to LoC-based productivity measurement was carried out at the University of Helsinki's Software Factory. Two development projects were studied, both adopting Agile and Lean methodologies. Following a linear-analytical approach, quantitative data from both project artefacts and developer surveys indicated that implicitly estimated velocity is a metric more valid than LoC-based measurement in situations where the overall productivity of an individual or team is of more importance than programming productivity. In addition, implicitly estimated velocity was found to be more consistent and predictable than LoC-based measurement in most configurations, lending credence to the theory that implicitly estimated velocity can indeed replace LoC-based measurement in Agile and Lean software development environments

    The Assignment of Scale to Object-Oriented Software Measures

    Get PDF
    In order to improve productivity (and quality), measurement of specific aspects of software has become imperative. As object oriented programming languages have become more widely used, metrics designed specifically for object-oriented software are required. Recently a large number of new metrics for object- oriented software has appeared in the literature. Unfortunately, many of these proposed metrics have not been validated to measure what they purport to measure. In this paper fifty (50) of these metrics are analyzed
    • …
    corecore