53 research outputs found

    Flipping the Laboratory in an Academic Course on Object-Oriented Paradigm

    No full text
    This paper reports an application of a teaching strategy based on a flipped classroom approach for laboratory sessions of a second-year programming university course, Programming II, held at the University of Bari and focused on the OOP paradigm. In our experience, this approach lets the students train to implement programs on their own before coming to class. Here, they will apply the knowledge during face-to-face lessons to elaborate, reflect and compare on what has been learned. We provided an evaluation of the approach through a quasi-experiment aiming at comparing two groups of students: one followed laboratory sessions by a flipped classroom approach and the other one by the traditional approach. Results show that the flipped group helps to produce better source code than the traditional group over the course of the time

    Using BERT to Predict Bug-Fixing Time

    No full text
    Prediction of the resolution time of a newly-submitted bug is a relevant aspect during the bug triage process since it can help project managers to better estimate software maintenance efforts and better manage software projects. Once a bug is reported, it is typically recorded in a Bug Tracking System, and it is assigned to a developer in order to solve the issue. The contribution of this paper is to provide a deep learning approach for the resolution of the bug-fixing time prediction, proposing a new feature set, consisting of the description of the issue and comments of the developers, in order to perform transfer learning on a pre-trained language representations model, called BERT. The problem of predicting the resolution time of a bug is therefore formulated as a supervised text categorization task. BERT makes use of a self-attention mechanism that allows learning the bidirectional context representation of a word in a sentence, which constitutes one of the main advantages over the previously proposed solutions. Experimental results show the proposed approach has effective bug-fixing time prediction ability

    Predicting Bug-Fixing Time Using the Latent Dirichlet Allocation Model with Covariates

    No full text
    The expected bug-fixing resolution time is one of the most important factors in bug triage, as an accurate prediction of bug-fixing times of newly submitted bugs helps to support both resource allocation and the triage process. Our approach treats the problem of bug-fix time estimation as a text categorization problem. To address this problem, we used Latent Dirichlet Allocation (LDA) model, a hierarchical statistical model based on what are called topics. Formally, a topic is a probability distribution over terms in a vocabulary. Such topic models provide useful descriptive statistics for a collection, which facilitates tasks like classification. Here we build a classification model on latent Dirichlet allocation (LDA). In LDA, we treat the topic proportions for a bug report as a draw from a Dirichlet distribution. We obtain the words in the bug report by repeatedly choosing a topic assignment from those proportions, then drawing a word from the corresponding topic. In supervised latent Dirichlet allocation (SLDA), we add to LDA a response variable associated with each document. Finally, we consider the supervised latent Dirichlet allocation with covariates (SLDAX) model, a generalization of SLDA, that incorporates manifest variables and latent topics as predictors of an outcome. We evaluated the proposed approach on a large dataset, composed of data gathered from defect tracking systems of five well-known open-source systems. Results show that SLDAX provides a better recall than those provided by topic models LDA-based

    Empirical Investigation of the Efficacy and Efficiency of tools for transferring software engineering knowledge

    No full text
    Continuous pressure on behalf of enterprises leads to a constant need for innovation. This involves exchanging results of knowledge and innovation among research groups and enterprises in accordance to the Open Innovation paradigm. The technologies that seem to be apparently attractive for exchanging knowledge are the Internet and its search engines. Literature provides many discordant opinions on their efficacy, and no empirical evidence on the topic. Thi

    A maintenance oriented Framework for software components characterization

    No full text
    Following to the increased size and complexity of software products, a single application is commonly made up of components produced by different developers using different practices. Components can be of different kinds: COTS (Commercial Off-the-Shelf), Open Source (OS), developed in-home, etc. Use of components places new questions and this paper determines a component’s maintainability through a framework for software components characterization. It supports a software engineer in selecting components to integrate in a software system. The framework includes three sets of characterization parameters: the first for all types of components; the second and third set for white box and OS components. The framework has been evaluated through an empirical study on two industrial projects. Results are interesting: several of the characteristics included in the framework are correlated and are unable to characterize the system maintainability. These findings seem disappointing although interesting and stimulate further research within component based developmen

    Experimentation of Flipped Learning in a University Course on Object-Oriented Programming Paradigm

    No full text
    Several academic institutes provide students, as the first programming course, with an understanding of Object-Oriented Programming (OOP) paradigm. This requires the teacher to face several obstacles due to the necessity to explain various and deep concepts such as type, data abstraction, encapsulation and different forms of polymorphism such as overloading, coercion, sub-typing, and parameterization. This paper proposes and evaluates a teaching strategy based on a flipped classroom approach for one selected topic in a second-year programming university course, Programming II, held at the University of Bari and focused on the OOP paradigm. This approach lets the students learn and train on their own before coming to class. Here, they will apply the knowledge during face-to-face lessons to elaborate, reflect and compare on what has been learned. We provided a preliminary evaluation of the approach through a quasi-experiment aiming at comparing two groups of students: one instructed by a flipped classroom approach and the other one by the traditional approach. Results show that the flipped group understands better concepts and produces better source code than the traditional group

    Multi software product lines: A systematic mapping study

    No full text
    Even if Software Product Line (SPL) is an established technique in software engineering, there are several limitations of its use. This is mainly caused by the exponential increase of software systems complexity and by the high pace of software and hardware evolution. Many of these limitations have been studied and faced by applying the Multi Software Product Line (MSPL), an extension of the SPL. MSPL is an emerging and novel technique based on using more than one SPL to derive a functional product system. This paper aims to characterize the state of the art of MSPL, the main goal is to highlight the reached achievement in this field and then discuss about the open issues or the not covered aspects of this approach. In order to make an overall analysis inside the research community, a well-defined method of systematic mapping is applied in order to classify, in a proper scheme, every paper strictly related to this topic. These classified results could give a valid hint about lacks which should be investigated further
    • …
    corecore