arrow
Return

Lexical content as a cooperation aide: A study based on Java software

delete2020-06-01
delete1
delete
OA
AI
A
Andrea Capiluppi *
N
Nemitari Ajienka
DOI:10.1016/j.jss.2020.110543delete
deleteOriginal
deleteShare
deleteSave
View PDF
Abstract

Abstract

En 中文
Collaborative development is a paradigm shift in software development. Loosely coupled developers coordinate their work via distributed versioning systems (SVN, Git, and others), code reviews and priority-led bug tracking systems. This development approach allows many different developers to input additional source code to the same source artifact. This article focuses on the lexical content of the source code produced in a collaborative environment. The lexical content is described as the 'dictionary' of the key terms contained within a source artifact. We posit that the lexical content of a Java class will increase as long as more developers add more content to the same class. We analyse the 100 top-ranked GitHub applications (at the time of the sampling) written in Java. Each of their classes is reduced to its lexical content, its size (in LOCs) recorded, as well as the number of different developers who contributed to its source code. Our results show that (i) the lexical content of Java classes is bounded in size, (ii) more developers make the size of the lexical content larger, and (iii) the lexical content of a system's classes might increase with more developers, but depending on its application domain. The implications for practitioners are two-fold: (i) classes with a large set of lexical content should be split in multiple classes, to minimize the need for further maintenance; and (ii) classes developed by many developers should adhere to specific guidelines so that its lexical content does not increase boundlessly. We tested our results in a tailored case study and we confirmed our findings: larger-than-threshold class corpora tend to deteriorate the class cohesion. (C) 2020 Elsevier Inc. All rights reserved.
Keywords:
Information retrieval (IR)
Lexical content
Clustering
Distributed development
Object-oriented (OO)
Open-source software
AI Summary

AI Summary

Key information extracted from the uploaded paper, including a brief overview, abstract, background, key highlights, visual analysis, and future outlook.

Journal

Journal of Systems and Software cover
Journal of Systems and Software
IF:
4.1
Papers:
5.4K
Citations:
8.4K

Organization

B
brunel university
Scholars:
5.8K
Papers: 7.1K
Citations: 9
E
Edge Hill University
Scholars:
1.2K
Papers: 1.3K
Citations: 958
Cited Papers

Cited Papers

Circadian variation of mood: comparison between different chronotypes
err2006-10-01
err0
PREAI
errRaphael Porto; Leandro Duarte; Luiz Menna-Barreto
errShare
errSave
Improving Software Modularization via Automated Analysis of Latent Topics and Dependencies
err2014-02-20
err88
errOAAI
errBavota, Gabriele; Gethers, Malcom; Oliveto, Rocco; Poshyvanyk, Denys; De Lucia, Andrea
errShare
errSave
Surviving global software development
err2001-01-01
err185
PREAI
errEbert, C; De Neve, P
errShare
errSave
Exploring steric constraints on protein mutations using MAGE/PROBE
err2008-12-31
err0
errOAAI
errJ. Michael Word; Brent K. Presley; Simon C. Lovell; David C. Richardson; Robert C. Batemanm
errShare
errSave
Methodbook: Recommending Move Method Refactorings via Relational Topic Models
err2014-07-01
err115
errOAAI
errBavota, Gabriele; Oliveto, Rocco; Gethers, Malcom; Poshyvanyk, Denys; De Lucia, Andrea
errShare
errSave
A Process Framework for Global Software Engineering Teams
err2012-11-01
err73
PREAI
errRichardson, Ita; Casey, Valentine; McCaffery, Fergal; Burton, John; Beecham, Sarah
errShare
errSave
Semantic clustering: Identifying topics in source code
err2007-03-01
err343
PREAI
errKuhn, Adrian; Ducasse, Stephane; Girba, Tudor
errShare
errSave
researcher View more