577 research outputs found

    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

    A Benchmark Study on Sentiment Analysis for Software Engineering Research

    Full text link
    A recent research trend has emerged to identify developers' emotions, by applying sentiment analysis to the content of communication traces left in collaborative development environments. Trying to overcome the limitations posed by using off-the-shelf sentiment analysis tools, researchers recently started to develop their own tools for the software engineering domain. In this paper, we report a benchmark study to assess the performance and reliability of three sentiment analysis tools specifically customized for software engineering. Furthermore, we offer a reflection on the open challenges, as they emerge from a qualitative analysis of misclassified texts.Comment: Proceedings of 15th International Conference on Mining Software Repositories (MSR 2018

    EMPIRICAL ASSESSMENT OF THE IMPACT OF USING AUTOMATIC STATIC ANALYSIS ON CODE QUALITY

    Get PDF
    Automatic static analysis (ASA) tools analyze the source or compiled code looking for violations of recommended programming practices (called issues) that might cause faults or might degrade some dimensions of software quality. Antonio Vetro' has focused his PhD in studying how applying ASA impacts software quality, taking as reference point the different quality dimensions specified by the standard ISO/IEC 25010. The epistemological approach he used is that one of empirical software engineering. During his three years PhD, he's been conducting experiments and case studies on three main areas: Functionality/Reliability, Performance and Maintainability. He empirically proved that specific ASA issues had impact on these quality characteristics in the contexts under study: thus, removing them from the code resulted in a quality improvement. Vetro' has also investigated and proposed new research directions for this field: using ASA to improve software energy efficiency and to detect the problems deriving from the interaction of multiple languages. The contribution is enriched with the final recommendation of a generalized process for researchers and practitioners with a twofold goal: improve software quality through ASA and create a body of knowledge on the impact of using ASA on specific software quality dimensions, based on empirical evidence. This thesis represents a first step towards this goa

    Using Bayesian networks to estimate strategic indicators in the context of rapid software development

    Get PDF
    Background: During Rapid Software Development, a large amount of project and development data can be collected from different and heterogeneous data sources. Aims: Design a methodology to process these data and turn it into relevant strategic indicators to help companies make meaningful decisions. Method: We adapt an existing methodology to create and estimate strategic indicators using Bayesian Networks in the context of Rapid Software Development, and applied it to a use case. Results: Applying the methodology in the use case, we create a model to predict product quality based on software factors and metrics, using companies’ business knowledge and collected data. Conclusions: We proved the methodology’s feasibility and obtained positive feedback from the company’s use case.Postprint (author's final draft

    Enhanced Approach for Bug Severity Prediction: Experimentation and Scope for Improvements

    Get PDF
    Software development is an iterative process, where developers create, test, and refine their code until it is ready for release. Along the way, bugs and issues are inevitable. A bug can be any error identified in requirement specification, design or implementation of any project. These bugs need to be categorized and assigned to developers to be resolved. the number of bugs generated in any large scale project are vast in number. These bugs can have significant or no impact on the project depending on the type of bug. The aim of this study is to develop a deep learning-based bug severity prediction model that can accurately predict the severity levels of software bugs. This study aims to address the limitations of the current manual bug severity assessment process and provide an automated solution using various classifiers e.g. Naïve Bayes, Logistic regression, KNN and Support vector machine along with Mutual information as feature selection method, that can assist software development teams in giving severity code to bugs effectively. It seeks to improve the overall software development process by reducing the time and effort required for bug resolution and enhancing the quality and reliability of software
    corecore