scholarly journals A Taste of the Software Industry Perception of Technical Debt and its Management in Brazil

Author(s):  
Victor Machado Silva ◽  
Helvio Jeronimo Junior ◽  
Guilherme Horta Travassos

Technical debt (TD) is receiving more and more attention to software engineering. Although it was initially used as a communication tool for technical and non-technical stakeholders, nowadays this concept supports the improvement of the software’s internal quality. Despite the increasing number of studies regarding TD and its management, only a few are concerned with the industry. Therefore, this primary study aims to characterize TD and its management under the perspective of Brazilian software organizations using their practitioners as proxies. A survey was performed with 62 practitioners, representing around 12 organizations and 30 software projects. The analysis of 40 valid questionnaires indicates that TD is still unknown to a considerable fraction of the participants, and only a small group of organizations adopt TD management activities in their projects. The survey package is available and can be used to support further investigations on TD management in software organizations.

10.29007/fqc6 ◽  
2018 ◽  
Author(s):  
Thomas Baar ◽  
Issam Bendaas

With adoption of the UML and other graphical languages by software industry,graphical models became a cornerstone in today's software development practice.As other artefacts such as program source code, graphical models evolve overtime and are, thus, put regularily under version control.In order to deeply understand the role an artefact plays within a project, it issometimes helpful to review the history of this artefact. While there arenumerous tools available that make it easy for a user to grasp the evolution oftextual files (or even portions of it), an adequate support for graphical fileshas remained to be an area of niche products.In this paper, we argue that a better support for reviewing the version historyof graphical files can facilitate the work with graphical models. In order tosupport this claim, we implemented a prototypcical tool that can extract anddisplay the version history of any graphical file stored in a GitHub-repository.In addition, users can annotate each version of a file with comments, whatturns our tool into a review tool for software projects. Recently, we started touse the tool is a software engineering course to give students better feedbackon complex UML models they have to develop iteratively.


Author(s):  
Eliakim Gama ◽  
Sávio Freire ◽  
Manoel Mendonça ◽  
Rodrigo O. Spínola ◽  
Matheus Paixao ◽  
...  

2020 ◽  
Vol V (IV) ◽  
pp. 48-59
Author(s):  
Ashfaq Ahmad ◽  
Nisar Ahmad ◽  
Nadia Malik

Effective control of risk factors ensures the performance of projects in any industry. Risk factors can influence software projects of any size and type. This research aims to identify and examine different risk factors associated with projects in the software industry. The relationship between Software Project Risks (SPRs) and Perceived Project Performance (PPP) measures is determined. This study is based on a survey approach, and a questionnaire is used to record opinions and responses from 199 software professionals working in the Pakistan software industry. The results showed that the association between SPRs and PPP measures is statistically significant, and there exist a positive relationship. It is concluded that an increase in understanding of SPRs can increase PPP measures used to evaluate the software project. The results will help researchers and professionals in understanding the impact of different risk factors on software projects' perceived performance.


2020 ◽  
Author(s):  
Willian N. Oizumi ◽  
Alessandro F. Garcia

Design problems affect most software projects and make their maintenance expensive and impeditive. Thus, the identification of potential design problems in the source code – which is very often the only available and upto-date artifact in a project – becomes essential in long-living software systems. This identification task is challenging as the reification of design problems in the source code tend to be scattered through several code elements. However, stateof-the-art techniques do not provide enough information to effectively help developers in this task. In this work, we address this challenge by proposing a new technique to support developers in revealing design problems. This technique synthesizes information about potential design problems, which are materialized in the implementation under the form of syntactic and semantic anomaly agglomerations. Our evaluation shows that the proposed synthesis technique helps to reveal more than 1200 design problems across 7 industry-strength systems, with a median precision of 71% and a median recall of 78%. The relevance of our work has been widely recognized by the software engineering community through 2 awards and 7 publications in international and national venues.


Author(s):  
Nuthan Munaiah ◽  
Steven Kroh ◽  
Craig Cabrey ◽  
Meiyappan Nagappan

Software forges like GitHub host millions of repositories. Software engineering researchers have been able to take advantage of such a large corpora of potential study subjects with the help of tools like GHTorrent and Boa. However, the simplicity in querying comes with a caveat: there are limited means of separating the signal (e.g. repositories containing engineered software projects) from the noise (e.g. repositories containing home work assignments). The proportion of noise in a random sample of repositories could skew the study and may lead to researchers reaching unrealistic, potentially inaccurate, conclusions. We argue that it is imperative to have the ability to sieve out the noise in such large repository forges. We propose a framework, and present a reference implementation of the framework as a tool called reaper, to enable researchers to select GitHub repositories that contain evidence of an engineered software project. We identify software engineering practices (called dimensions) and propose means for validating their existence in a GitHub repository. We used reaper to measure the dimensions of 1,994,977 GitHub repositories. We then used the data set train classifiers capable of predicting if a given GitHub repository contains an engineered software project. The performance of the classifiers was evaluated using a set of 200 repositories with known ground truth classification. We also compared the performance of the classifiers to other approaches to classification (e.g. number of GitHub Stargazers) and found our classifiers to outperform existing approaches. We found stargazers-based classifier to exhibit high precision (96%) but an inversely proportional recall (27%). On the other hand, our best classifier exhibited a high precision (82%) and a high recall (83%). The stargazer-based criteria offers precision but fails to recall a significant potion of the population.


2015 ◽  
pp. 997-1012
Author(s):  
Jagadeesh Nandigam ◽  
Venkat N Gudivada

This chapter describes a pragmatic approach to using open source and free software tools as valuable resources to affect learning of software industry practices using iterative and incremental development methods. The authors discuss how the above resources are used in teaching undergraduate Software Engineering (SE) courses. More specifically, they illustrate iterative and incremental development, documenting software requirements, version control and source code management, coding standards compliance, design visualization, software testing, software metrics, release deliverables, software engineering ethics, and professional practices. The authors also present how they positioned the activities of this course to qualify it for writing intensive designation. End of semester course evaluations and anecdotal evidence indicate that the proposed approach is effective in educating students in software industry practices.


Sign in / Sign up

Export Citation Format

Share Document