1,720,963 research outputs found

    Pair Programming and Software Defects--A Large, Industrial Case Study

    No full text
    In the last decade, there has been increasing interest in pair programming (PP). However, despite the existing work, there is still a lack of substantial evidence of the effects of PP in industrial environments. To address this issue, we have analyzed the work of a team of 17 industrial developers for 14 months. The team is part of the IT department of a large Italian manufacturing company; it adopts a customized version of extreme programming (XP). We have investigated the effects of PP on software quality in five different scenarios. The results show that PP appears to provide a perceivable but small effect on the reduction of defects in these settings

    The API economy: Playing the devil's advocate

    No full text
    A lot of hype surrounds the API economy. Different observers have promised a variety of potential benefits, but which of these promises are true and which should be taken with a grain of salt? In this article, we take a look at some of the major benefits allegedly produced by the API economy and its key facets. We examine the claims various authors have made and offer counterclaims and potentially opposing views. Our goal is not to criticize or disprove these claims, but to take a wider look at these issues and to provide additional food for thought

    Failure prediction based on log files using Random Indexing and Support Vector Machines

    No full text
    Research problem The impact of failures on software systems can be substantial since the recovery process can require unexpected amounts of time and resources. Accurate failure predictions can help in mitigating the impact of failures. Resources, applications, and services can be scheduled to limit the impact of failures. However, providing accurate predictions sufficiently ahead is challenging. Log files contain messages that represent a change of system state. A sequence or a pattern of messages may be used to predict failures. Contribution We describe an approach to predict failures based on log files using Random Indexing (RI) and Support Vector Machines (SVMs). Method RI is applied to represent sequences: each operation is characterized in terms of its context. SVMs associate sequences to a class of failures or non-failures. Weighted SVMs are applied to deal with imbalanced datasets and to improve the true positive rate. We apply our approach to log files collected during approximately three months of work in a large European manufacturing company. Results According to our results, weighted SVMs sacrifice some specificity to improve sensitivity. Specificity remains higher than 0.80 in four out of six analyzed applications. Conclusions Overall, our approach is very reliable in predicting both failures and non-failures

    Understanding the impact of Pair Programming on developers attention: A case study on a large industrial experimentation

    No full text
    Pair Programming is one of the most studied and debated development techniques. However, at present, we do not have a clear, objective, and quantitative understanding of the claimed benefits of such development approach. All the available studies focus on the analysis of the effects of Pair Programming (e.g., code quality, development speed, etc.) with different findings and limited replicability of the experiments. This paper adopts a different approach that could be replicated in an easier way: it investigates how Pair Programming affects the way developers write code and interact with their development machine. In particular, the paper focuses on the effects that Pair Programming has on developers' attention and productivity. The study was performed on a professional development team observed for ten months and it finds out that Pair Programming helps developers to eliminate distracting activities and to focus on productive activities

    Analysing the usage of tools in pair programming sessions

    No full text
    n this study we observe the daily work of nineteen software developers of a large Italian manufacturing company for a period of ten months to determine the effects of pair programming on the use of tools. Fifteen developers are existing team members and four have recently joined the team. They practice Pair Programming spontaneously, that is, when they feel it is needed. We identify the tools the developers use, how they distribute their time among these tools when working alone and when doing Pair Programming. The data have been extracted non-invasively by means of PROM – tool for automated data collection and analysis. The preliminary results indicate that developers working in pairs devote significantly more time to programming activities than developers working alone

    Failure Prediction based on Log Files Using Random Indexing and Support Vector Machines

    No full text
    Purpose – In this paper the authors aim to investigate the importance of factors for the adoption of free/libre open source software (FLOSS) in the public sector. They seek to evaluate how different factors impact during the initiation and implementation phases of the adoption process. Design/methodology/approach – The authors base the methodological approach on two exploratory case studies with a contrasting result logic. They build a multi-level framework grounded both on literature review, and feedback from stakeholders. They then apply the framework to two case studies to better frame the findings. They consider phases of adoption (initiation, implementation) and the levels of adoption (technological, organizational, environmental, individual). Findings – In the case studies, the authors found the importance of a strong and decision-centric management board to give the impulse for the initiation phase of the process. As perceived by the stakeholders, a strong governmental support is of paramount importance to increase the adoption at the public level, although in the case studies examined the initiation stage started from the impulse of a championing management. Both case studies passed the initiation phase successfully. Continuous employees' training, organizational objectives consensus, and business process reengineering have been found important for the implementation phase. In the case study in which these factors were not in place, the implementation phase of adoption failed. Environmental factors – although relevant for the initiation of the adoption process – are less significant during the actual implementation of the adoption process, as the contrasting result logic from the case studies shows. Research limitations/implications – The study refers to two public organizations in a specific environmental setting. No causality among factors has been inferred. Quantitative objective data have been used to determine the success of adoption, for qualitative data multiple sources have been used when possible to limit threats to validity. Practical implications – The framework can be used by stakeholders in public organizations to better frame their adoption strategies and to compare results across institutions. Lessons learnt from the case studies can be useful to drive future adoptions of FLOSS. Originality/value – The framework combines phases of adoption and levels making it possible to frame the analysis of the case studies. It has been operationalized with a set of metrics, and with a protocol for the case studies to increase replicability value

    Toward a non invasive control of applications. A biomedical approach to failure prediction

    No full text
    Developing software without failures is indeed important. Still, it is also important to detect as soon as possible when a running application is likely to fail, so that corrective actions can be taken. Following the guidelines of Agile Methods, the goal of our research is to develop a statistical prediction model for failures that does not require any additional effort on the side of the developers of an application; the key concept is that the developers concentrate on the code and we use the information that is naturally generated by the running application to assess whether an application is likely to fail. So the developers concentrate only on providing direct value to the customer and then the model takes care of informing the environment of the possible crash. The proposed model uses as input data that is commonly produced by developers: the log files. The statistical prediction model employed comes from biomedical studies about cancer survival prediction based on gene expression profiles where gene expression measurements and survival times of previous patients are used to predict future patients' survival. One of the most prominent models is the Cox Proportional Hazards (PH) model. In this work, we draw a parallel between our context and the biomedical one; we consider types of operations as genes, and operations and their multiplicity in the sequence as expression profiles. Then, we identify signature operations applying the above mentioned Cox PH model. We perform a prototypical analysis using real-world data to assess the suitability of our approach. We estimate the confidence interval of our results using Bootstrap

    Failure Prediction based on Log Files Using the Cox Proportional Hazard Model

    No full text
    The analysis of event sequence data that contains system failures is becoming increasingly important in the design of service and maintenance policies. This paper presents a systematic methodology to construct a statistical prediction model for failure event based on event sequence data. First, frequent failure signatures, defined as a group of events/errors that repeatedly occur together, are identified automatically from the event sequence by use of an efficient algorithm. Then, the Cox proportional hazard model, that is extensively used in biomedical survival analysis, is used to provide a statistically rigorous prediction of system failures based on the time-to-failure data extracted from the event sequences. The identified failure signatures are used to select significant covariates for the Cox model, i.e., only the events and/or event combinations in the signatures are treated as explanatory variables in the Cox model fitting. By combining the failure signature and Cox model approaches the proposed method can effectively handle the situation of a long event sequence and a large number of event types in the sequence. Its effectiveness is illustrated by a numerical study and analysis of real-world data. The proposed method can help proactively diagnose machine faults with a sufficient lead time before actual system failures to allow preventive maintenance to be scheduled thereby reducing the downtime costs

    Understanding how Novices are Integrated in a Team Analysing their Tool Usage

    No full text
    Novices' activities can be very different from those of experienced developers. The analysis of tool usage can propose early insights on novices integration in the team and also provide a method to compare their activities with experts. In this work we compare novices and experts in terms of tool usage, both in solo and in Pair Programming (PP). At the end of the integration process, novices activities are aligned to experts ones. Data for this study have been collected in an industrial team of 17 developers for a period of 10 months. The usage of AISEMA (Automated In-Process Software Engineering Measurement and Analysis) systems allowed us to have continuous, accurate and low cost measurement for our analysis

    Toward a better understanding of tool usage (NIER track)

    No full text
    Developers use tools to develop software systems and always alleged better tools are being produced and purchased. Still there have been only limited studies on how people really use tools; these studies have used limited data, and the interactions between tools have not been properly elaborated. The advent of the AISEMA (Automated In-Process Software Engineering Measurement and Analysis) systems [3] has enabled a more detailed collection of tools data. Our "new idea" is to take advantage of such data to build a simple model based on an oriented graph that enables a good understanding on how tools are used individually and collectively. We have empirically validated the model analyzing an industrial team of 19 developers for a period of 10 months
    corecore