Understanding Architectural Complexity, Maintenance Burden, and Developer Sentiment -A Large-Scale Study

Intuitively, the more complex a software system is, the harder it is to maintain. Statistically, it is not clear which complexity metrics correlate with maintenance effort; in fact, it is not even clear how to objectively measure maintenance burden, so that developers' sentiment and intuition c...

Celý popis

Uložené v:
Podrobná bibliografia
Vydané v:Proceedings / International Conference on Software Engineering s. 2176 - 2187
Hlavní autori: Cai, Yuanfang, He, Lanting, Qian, Jun, Kochinski, Yony, Zhang, Nan, Jaspan, Ciera, Bianco, Antonio
Médium: Konferenčný príspevok..
Jazyk:English
Vydavateľské údaje: IEEE 26.04.2025
Predmet:
ISSN:1558-1225
On-line prístup:Získať plný text
Tagy: Pridať tag
Žiadne tagy, Buďte prvý, kto otaguje tento záznam!
Abstract Intuitively, the more complex a software system is, the harder it is to maintain. Statistically, it is not clear which complexity metrics correlate with maintenance effort; in fact, it is not even clear how to objectively measure maintenance burden, so that developers' sentiment and intuition can be supported by numbers. Without effective complexity and maintenance metrics, it remains difficult to objectively monitor maintenance, control complexity, or justify refactoring. In this paper, we report a largescale study of 1252 projects written in C++ and Java from Google LLC. We collected three categories of metrics: (1) architectural complexity, measured using propagation cost (PC), decoupling level (DL), and structural anti-patterns; (2) maintenance activity, measured using the number of changes, lines of code (LOC) written, and active coding time (ACT) spent on feature-addition vs. bug-fixing, and (3) developer sentiment on complexity and productivity, collected from 7200 survey responses. We statistically analyzed the correlations among these metrics and obtained significant evidence of the following findings: 1) the more complex the architecture is (higher propagation cost, more instances of anti-patterns), the more LOC is spent on bug-fixing, rather than adding new features; 2) developers who commit more changes for features, spend more lines of code on features, or spend more time on features also feel that they are less hindered by technical debt and complexity. To the best of our knowledge, this is the first large-scale empirical study establishing the statistical correlation among architectural complexity, maintenance activity, and developer sentiment. The implication is that, instead of solely relying upon developer sentiment and intuition to detect degraded structure or increased burden to evolve, it is possible to objectively and continuously measure and monitor architectural complexity and maintenance difficulty, increasing feature delivery efficiency by reducing architectural complexity and anti-patterns.
AbstractList Intuitively, the more complex a software system is, the harder it is to maintain. Statistically, it is not clear which complexity metrics correlate with maintenance effort; in fact, it is not even clear how to objectively measure maintenance burden, so that developers' sentiment and intuition can be supported by numbers. Without effective complexity and maintenance metrics, it remains difficult to objectively monitor maintenance, control complexity, or justify refactoring. In this paper, we report a largescale study of 1252 projects written in C++ and Java from Google LLC. We collected three categories of metrics: (1) architectural complexity, measured using propagation cost (PC), decoupling level (DL), and structural anti-patterns; (2) maintenance activity, measured using the number of changes, lines of code (LOC) written, and active coding time (ACT) spent on feature-addition vs. bug-fixing, and (3) developer sentiment on complexity and productivity, collected from 7200 survey responses. We statistically analyzed the correlations among these metrics and obtained significant evidence of the following findings: 1) the more complex the architecture is (higher propagation cost, more instances of anti-patterns), the more LOC is spent on bug-fixing, rather than adding new features; 2) developers who commit more changes for features, spend more lines of code on features, or spend more time on features also feel that they are less hindered by technical debt and complexity. To the best of our knowledge, this is the first large-scale empirical study establishing the statistical correlation among architectural complexity, maintenance activity, and developer sentiment. The implication is that, instead of solely relying upon developer sentiment and intuition to detect degraded structure or increased burden to evolve, it is possible to objectively and continuously measure and monitor architectural complexity and maintenance difficulty, increasing feature delivery efficiency by reducing architectural complexity and anti-patterns.
Author Jaspan, Ciera
Qian, Jun
Cai, Yuanfang
Zhang, Nan
Kochinski, Yony
He, Lanting
Bianco, Antonio
Author_xml – sequence: 1
  givenname: Yuanfang
  surname: Cai
  fullname: Cai, Yuanfang
  email: yuanfang.cai@drexel.edu
  organization: Drexel University,USA
– sequence: 2
  givenname: Lanting
  surname: He
  fullname: He, Lanting
  email: lantinghe@google.com
  organization: Google LLC,USA
– sequence: 3
  givenname: Jun
  surname: Qian
  fullname: Qian, Jun
  email: juqian@google.com
  organization: Google LLC,USA
– sequence: 4
  givenname: Yony
  surname: Kochinski
  fullname: Kochinski, Yony
  email: yonyk@google.com
  organization: Google LLC,USA
– sequence: 5
  givenname: Nan
  surname: Zhang
  fullname: Zhang, Nan
  email: nanzh@google.com
  organization: Google LLC,USA
– sequence: 6
  givenname: Ciera
  surname: Jaspan
  fullname: Jaspan, Ciera
  email: ciera@google.com
  organization: Google LLC,USA
– sequence: 7
  givenname: Antonio
  surname: Bianco
  fullname: Bianco, Antonio
  email: abianco@google.com
  organization: Google LLC,USA
BookMark eNotkM1OAjEcxKvRREDegEMfgMV-bNvtEVdUEoyHlTMp7b9QsxTSLQbe3k00k8wkv2TmMEN0F48REJpQMqOU6Kdl3SyE4KWaMcLEjBAqqxs01kpXnFNBhNT0Fg2oEFVBGRMPaNh134QQWWo9QPt1dJC6bKILcYfnye5DBpvPybS4Ph5OLVxCvk7xhwkxQzTRAn4-JwdxivsSfoEfaI8nSLiBmMOhN1zM8cqkHRSNNS3gJp_d9RHde9N2MP7PEVq_Lr7q92L1-bas56vCMElyoQGsZFvJbC-qmOWel0Z5rrxgjDm9rUB78EpSXlpeOa620FNtjfPaCT5Ck7_dAACbUwoHk66b_iqmFef8F97CWzE
CODEN IEEPAD
ContentType Conference Proceeding
DBID 6IE
6IH
CBEJK
RIE
RIO
DOI 10.1109/ICSE55347.2025.00168
DatabaseName IEEE Electronic Library (IEL) Conference Proceedings
IEEE Proceedings Order Plan (POP) 1998-present by volume
IEEE Xplore All Conference Proceedings
IEEE Electronic Library (IEL)
IEEE Proceedings Order Plans (POP) 1998-present
DatabaseTitleList
Database_xml – sequence: 1
  dbid: RIE
  name: IEEE Electronic Library (IEL)
  url: https://ieeexplore.ieee.org/
  sourceTypes: Publisher
DeliveryMethod fulltext_linktorsrc
Discipline Computer Science
EISBN 9798331505691
EISSN 1558-1225
EndPage 2187
ExternalDocumentID 11029733
Genre orig-research
GroupedDBID -~X
.4S
.DC
29O
5VS
6IE
6IF
6IH
6IK
6IL
6IM
6IN
8US
AAJGR
AAWTH
ABLEC
ADZIZ
ALMA_UNASSIGNED_HOLDINGS
ARCSS
AVWKF
BEFXN
BFFAM
BGNUA
BKEBE
BPEOZ
CBEJK
CHZPO
EDO
FEDTE
I-F
IEGSK
IJVOP
IPLJI
M43
OCL
RIE
RIL
RIO
ID FETCH-LOGICAL-a260t-9eec62b62c2c2172c3f34a7f37f5222d9b8e9fef76134c38d37bed9b9cadf9d53
IEDL.DBID RIE
ISICitedReferencesCount 0
ISICitedReferencesURI http://www.webofscience.com/api/gateway?GWVersion=2&SrcApp=Summon&SrcAuth=ProQuest&DestLinkType=CitingArticles&DestApp=WOS_CPL&KeyUT=001538318100170&url=https%3A%2F%2Fcvtisr.summon.serialssolutions.com%2F%23%21%2Fsearch%3Fho%3Df%26include.ft.matches%3Dt%26l%3Dnull%26q%3D
IngestDate Wed Aug 27 01:40:13 EDT 2025
IsPeerReviewed false
IsScholarly true
Language English
LinkModel DirectLink
MergedId FETCHMERGED-LOGICAL-a260t-9eec62b62c2c2172c3f34a7f37f5222d9b8e9fef76134c38d37bed9b9cadf9d53
PageCount 12
ParticipantIDs ieee_primary_11029733
PublicationCentury 2000
PublicationDate 2025-April-26
PublicationDateYYYYMMDD 2025-04-26
PublicationDate_xml – month: 04
  year: 2025
  text: 2025-April-26
  day: 26
PublicationDecade 2020
PublicationTitle Proceedings / International Conference on Software Engineering
PublicationTitleAbbrev ICSE
PublicationYear 2025
Publisher IEEE
Publisher_xml – name: IEEE
SSID ssj0006499
Score 2.2899594
Snippet Intuitively, the more complex a software system is, the harder it is to maintain. Statistically, it is not clear which complexity metrics correlate with...
SourceID ieee
SourceType Publisher
StartPage 2176
SubjectTerms Complexity theory
Correlation
Costs
Internet
Java
Maintenance
Monitoring
Software Design
Software Maintenance
Software measurement
Software Metrics
Surveys
Time measurement
Title Understanding Architectural Complexity, Maintenance Burden, and Developer Sentiment -A Large-Scale Study
URI https://ieeexplore.ieee.org/document/11029733
WOSCitedRecordID wos001538318100170&url=https%3A%2F%2Fcvtisr.summon.serialssolutions.com%2F%23%21%2Fsearch%3Fho%3Df%26include.ft.matches%3Dt%26l%3Dnull%26q%3D
hasFullText 1
inHoldings 1
isFullTextHit
isPrint
link http://cvtisr.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwlV1LawIxEA5VeujJPix9k0OPbt1N1s3mKKK0YEWwFm-Sx4QWii1WC_77zqzr49JD2csSdrNLhmQmme_7hrF7L1XsbRZHiQYTpUbHkQ048ZSRxmO84VShW_DaV4NBPpnoYUlWL7gwAFCAz-CBbotcvv90Szoqa6KrolJLssIqSmVrstZ22c0wdi-5cUmsm0-dUbfVkqnCPaCgc5OE1FT3KqgUDqRX--enj1l9R8Xjw62TOWEHMDtltU0tBl5OzTP2Nt5nqfD2Lj9gPjg9TsKXi1WDPxtSiCCZDeBrDkOD40u8RA9RnwQgot_hUZv3CSkejdCSwAlzuKqzca_70nmMyioKkcG9yiLSAC4TNhMOLwxXnAwyNSpIFTD2El7bHHSAoNCxp07maD0L2Kqd8UH7ljxn1dnnDC4Yz5zOg4_TkGAX0gorpFW4TDkrYwApLlmdRm76tRbKmG4G7eqP9mt2RMah5IzIblh1MV_CLTt0P4v37_ldYd5fuE2oHA
linkProvider IEEE
linkToHtml http://cvtisr.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwlV3Na8IwFA-bG2wn9-HY93LY0c6atE1zFFGUVRHU4U2S9IUNhg5XB_73y6v147LD6KWENi15JO8l7_f7PUKeUy78VEe-V5egvEBJ39PWTTyhuEpdvGFErlvwloh-P55M5KAgq-dcGADIwWfwgrd5Lj-dmyUeldWcq8JSS_yQHIVBwPw1XWu78EYuei_YcXVf1rrNYSsMeSDcLpDhyUkd9VT3aqjkLqRd_ufHz0hlR8ajg62bOScHMLsg5U01BlpMzkvyPt7nqdDGLkOgPik-jtKX2apKewo1IlBoA-iaxVCl7iVa4IewT4QQ4e9Qr0ETxIp7Q2dLoIg6XFXIuN0aNTteUUfBU263knkSwERMR8y4ywUshlseKGG5sC76YqnUMUgLVjjXHhgeO_tpcK3SqNTKNORXpDSbz-Ca0MjI2KZ-YOuuC66ZZlwLt1AZzX0Azm5IBUdu-rWWyphuBu32j_YnctIZ9ZJp0u2_3pFTNBSmalh0T0rZYgkP5Nj8ZB_fi8fc1L-iVatj
openUrl ctx_ver=Z39.88-2004&ctx_enc=info%3Aofi%2Fenc%3AUTF-8&rfr_id=info%3Asid%2Fsummon.serialssolutions.com&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=proceeding&rft.title=Proceedings+%2F+International+Conference+on+Software+Engineering&rft.atitle=Understanding+Architectural+Complexity%2C+Maintenance+Burden%2C+and+Developer+Sentiment+-A+Large-Scale+Study&rft.au=Cai%2C+Yuanfang&rft.au=He%2C+Lanting&rft.au=Qian%2C+Jun&rft.au=Kochinski%2C+Yony&rft.date=2025-04-26&rft.pub=IEEE&rft.eissn=1558-1225&rft.spage=2176&rft.epage=2187&rft_id=info:doi/10.1109%2FICSE55347.2025.00168&rft.externalDocID=11029733