53 research outputs found
Flipping the Laboratory in an Academic Course on Object-Oriented Paradigm
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
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
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
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
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
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
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
- …