Capiluppi, A and Ajienka, N ORCID: https://orcid.org/0000-0002-8792-282X, 2020. Lexical content as a cooperation aide: a study based on Java software. Journal of Systems and Software, 164: 110543. ISSN 0164-1212
Preview |
Text
1292557_Ajienka.pdf - Post-print Download (1MB) | Preview |
Abstract
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 twofold: (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.
Item Type: | Journal article |
---|---|
Publication Title: | Journal of Systems and Software |
Creators: | Capiluppi, A. and Ajienka, N. |
Publisher: | Elsevier |
Date: | June 2020 |
Volume: | 164 |
ISSN: | 0164-1212 |
Identifiers: | Number Type 10.1016/j.jss.2020.110543 DOI S016412122030025X Publisher Item Identifier 1292557 Other |
Divisions: | Schools > School of Science and Technology |
Record created by: | Jonathan Gallacher |
Date Added: | 24 Mar 2020 09:01 |
Last Modified: | 31 May 2021 15:06 |
URI: | https://irep.ntu.ac.uk/id/eprint/39452 |
Actions (login required)
Edit View |
Statistics
Views
Views per month over past year
Downloads
Downloads per month over past year