18 research outputs found
A Quantitative Study of Social Organisation in Open Source Software Communities
The success of open source projects crucially depends on the voluntary contributions of a sufficiently large community of users. Apart from the mere size of the community, interesting questions arise when looking at the evolution of structural features of collaborations between community members. In this article, we discuss several network analytic proxies that can be used to quantify different aspects of the social organisation in social collaboration networks. We particularly focus on measures that can be related to the cohesiveness of the communities, the distribution of responsibilities and the resilience against turnover of community members. We present a comparative analysis on a large-scale dataset that covers the full history of collaborations between users of major open source software communities. Our analysis covers both aggregate and time-evolving measures and highlights differences in the social organisation across communities. We argue that our results are a promising step towards the definition of suitable, potentially multi-dimensional, resilience and risk indicators for open source software communities
Proposed Framework for Quality Assurance System with Duplicate Bug Detection
When project are having so cost. Many times the problem of bug will get occur. So, it becomes very important to have proper quality assurance system(QAS).Poorly designed quality assurance systems may exchange wrong information between developers. The purpose of this paper is to make understandings of different quality assurance systems and explain them, to find out problems present in them and give proper direction for improvement so as attract customers, raise customers satisfaction, to reduce downtime .This Paper proposes a framework to detect duplicate bug. detection, QAS, bugs
Enhanced Approach for Bug Severity Prediction: Experimentation and Scope for Improvements
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
Gitana: a SQL-based Git Repository Inspector
International audienceSoftware development projects are notoriously complex and difficult to deal with. Several support tools such as issue tracking, code review and Source Control Management (SCM) systems have been introduced in the past decades to ease development activities. While such tools efficiently track the evolution of a given aspect of the project (e.g., bug reports), they provide just a partial view of the project and often lack of advanced querying mechanisms limiting themselves to command line or simple GUI support. This is particularly true for projects that rely on Git, the most popular SCM system today. In this paper, we propose a conceptual schema for Git and an approach that, given a Git repository, exports its data to a relational database in order to (1) promote data integration with other existing SCM tools and (2) enable writing queries on Git data using standard SQL syntax. To ensure efficiency, our approach comes with an incremental propagation mechanism that refreshes the database content with the latest modifications. We have implemented our approach in Gitana, an open-source tool available on GitHub
Towards Automated Performance Bug Identification in Python
Context: Software performance is a critical non-functional requirement,
appearing in many fields such as mission critical applications, financial, and
real time systems. In this work we focused on early detection of performance
bugs; our software under study was a real time system used in the
advertisement/marketing domain.
Goal: Find a simple and easy to implement solution, predicting performance
bugs.
Method: We built several models using four machine learning methods, commonly
used for defect prediction: C4.5 Decision Trees, Na\"{\i}ve Bayes, Bayesian
Networks, and Logistic Regression.
Results: Our empirical results show that a C4.5 model, using lines of code
changed, file's age and size as explanatory variables, can be used to predict
performance bugs (recall=0.73, accuracy=0.85, and precision=0.96). We show that
reducing the number of changes delivered on a commit, can decrease the chance
of performance bug injection.
Conclusions: We believe that our approach can help practitioners to eliminate
performance bugs early in the development cycle. Our results are also of
interest to theoreticians, establishing a link between functional bugs and
(non-functional) performance bugs, and explicitly showing that attributes used
for prediction of functional bugs can be used for prediction of performance
bugs
Analyzing the Influence of Processor Speed and Clock Speed on Remaining Useful Life Estimation of Software Systems
Prognostics and Health Management (PHM) is a discipline focused on predicting
the point at which systems or components will cease to perform as intended,
typically measured as Remaining Useful Life (RUL). RUL serves as a vital
decision-making tool for contingency planning, guiding the timing and nature of
system maintenance. Historically, PHM has primarily been applied to hardware
systems, with its application to software only recently explored. In a recent
study we introduced a methodology and demonstrated how changes in software can
impact the RUL of software. However, in practical software development,
real-time performance is also influenced by various environmental attributes,
including operating systems, clock speed, processor performance, RAM, machine
core count and others. This research extends the analysis to assess how changes
in environmental attributes, such as operating system and clock speed, affect
RUL estimation in software. Findings are rigorously validated using real
performance data from controlled test beds and compared with predictive
model-generated data. Statistical validation, including regression analysis,
supports the credibility of the results. The controlled test bed environment
replicates and validates faults from real applications, ensuring a standardized
assessment platform. This exploration yields actionable knowledge for software
maintenance and optimization strategies, addressing a significant gap in the
field of software health management
Evaluating the effect of locking on multitenancy isolation for components of cloud-hosted services.
Multitenancy isolation is a way of ensuring that the performance, stored data volume and access privileges required by one tenant and/or component does not affect other tenants and/or components. One of the conditions that can influence the varying degrees of isolation is when locking is enabled for a process or component that is being shared. Although the concept of locking has been extensively studied in database management, there is little or no research on how locking affects multitenancy isolation and its implications for optimizing the deployment of components of a cloud-hosted service in response to workload changes. This paper applies COMITRE (Component-based approach to Multitenancy Isolation through Request Re-routing) to evaluate the impact of enabling locking for a shared process or component of a cloud-hosted application. Results show that locking has a significant effect on the performance and resource consumption of tenants especially for operations that interact directly with the local file system of the platform used on the cloud infrastructure. We also present recommendations for achieving the required degree of multitenancy isolation when locking is enabled for three software processes: continuous integration, version control, and bug tracking
Designing an End User Participation and Involvement Assistant for Continuous IS Development
The nature of information system provision has changed as the business models of software firms are continually changing towards software-as-a service and platform-as-a-service solutions. Involving end users in a continuous development of such information systems promises to increase the overall system’s success. The conceptualization and actual realization of the user involvement concept is subject of ongoing research. Based on a systematic literature review, we identified three implications of this research that are relevant for the development of an information technology based assistant for user participation and involvement. In this paper, we introduce our Design Science Research project on the theory grounded design of a user participation and involvement assistant. We aim to enable end users to provide meaningful feedback to the developers during their actual system use. Moreover, the assistant will enable developers to effectively analyze the vast amount of complex end user feedback
Demonstration of a Response Time Based Remaining Useful Life (RUL) Prediction for Software Systems
Prognostic and Health Management (PHM) has been widely applied to hardware
systems in the electronics and non-electronics domains but has not been
explored for software. While software does not decay over time, it can degrade
over release cycles. Software health management is confined to diagnostic
assessments that identify problems, whereas prognostic assessment potentially
indicates when in the future a problem will become detrimental. Relevant
research areas such as software defect prediction, software reliability
prediction, predictive maintenance of software, software degradation, and
software performance prediction, exist, but all of these represent diagnostic
models built upon historical data, none of which can predict an RUL for
software. This paper addresses the application of PHM concepts to software
systems for fault predictions and RUL estimation. Specifically, this paper
addresses how PHM can be used to make decisions for software systems such as
version update and upgrade, module changes, system reengineering, rejuvenation,
maintenance scheduling, budgeting, and total abandonment. This paper presents a
method to prognostically and continuously predict the RUL of a software system
based on usage parameters (e.g., the numbers and categories of releases) and
performance parameters (e.g., response time). The model developed has been
validated by comparing actual data, with the results that were generated by
predictive models. Statistical validation (regression validation, and k-fold
cross validation) has also been carried out. A case study, based on publicly
available data for the Bugzilla application is presented. This case study
demonstrates that PHM concepts can be applied to software systems and RUL can
be calculated to make system management decisions.Comment: This research methodology has opened up new and practical
applications in the software domain. In the coming decades, we can expect a
significant amount of attention and practical implementation in this area
worldwid