ASSESSING COGNITIVE COMPLEXITY IN JAVA-BASED OBJECT-ORIENTED SYSTEMS: METRICS AND TOOL SUPPORT

dc.authoridMisra, Sanjay/0000-0002-3556-9331
dc.authoridMateos, Cristian/0000-0001-5761-1898
dc.authorwosidZunino, Alejandro/W-2100-2017
dc.authorwosidMisra, Sanjay/K-2203-2014
dc.contributor.authorCrasso, Marco
dc.contributor.authorMateos, Cristian
dc.contributor.authorZunino, Alejandro
dc.contributor.authorMisra, Sanjay
dc.contributor.authorPolvorin, Pablo
dc.contributor.otherComputer Engineering
dc.date.accessioned2024-10-06T11:12:31Z
dc.date.available2024-10-06T11:12:31Z
dc.date.issued2016
dc.departmentAtılım Universityen_US
dc.department-temp[Crasso, Marco] IBM Res, Mar Del Plata, Buenos Aires, Argentina; [Mateos, Cristian; Zunino, Alejandro] UNICEN Univ, ISISTAN CONICET, Campus Univ,Tandil B7001BB0, Buenos Aires, DF, Argentina; [Misra, Sanjay] Atilim Univ, Ankara, Turkey; [Polvorin, Pablo] ProcessOne, Paris, Franceen_US
dc.descriptionMisra, Sanjay/0000-0002-3556-9331; Mateos, Cristian/0000-0001-5761-1898en_US
dc.description.abstractSoftware cognitive complexity refers to how demanding the mental process of performing tasks such as coding, testing, debugging, or modifying source code is. Achieving low levels of cognitive complexity is crucial for ensuring high levels of software maintainability, which is one of the most rewardful software quality attributes. Therefore, in order to control and ensure software maintainability, it is first necessary to accurately quantify software cognitive complexity. In this line, this paper presents a software metric to assess cognitive complexity in Object Oriented (OO) systems, and particularly those developed in the Java language, which is very popular among OO programming languages. The proposed metric is based on a characterization of basic control structures present in Java systems. Several algorithms to compute the metric and their materialization in the Eclipse IDE are also introduced. Finally, a theoretical validation of the metric against a framework specially designed to validate software complexity metrics is presented, and the applicability of the tool is shown by illustrating the metric in the context of ten real world Java projects and relevant metrics from the well-known Chidamber-Kemerer metric suite.en_US
dc.description.sponsorshipANPCyT [PICT-2012-0045]en_US
dc.description.sponsorshipThis paper has been partially supported by grant PICT-2012-0045 of ANPCyT. We also thank the reviewers for their helpful comments to improve the paper.en_US
dc.description.woscitationindexScience Citation Index Expanded
dc.identifier.citation12
dc.identifier.doi[WOS-DOI-BELIRLENECEK-197]
dc.identifier.endpage527en_US
dc.identifier.issn1335-9150
dc.identifier.issue3en_US
dc.identifier.scopusqualityQ4
dc.identifier.startpage497en_US
dc.identifier.urihttps://hdl.handle.net/20.500.14411/9156
dc.identifier.volume35en_US
dc.identifier.wosWOS:000382272600001
dc.identifier.wosqualityQ4
dc.institutionauthorMısra, Sanjay
dc.language.isoenen_US
dc.publisherSlovak Acad Sciences inst informaticsen_US
dc.relation.publicationcategoryMakale - Uluslararası Hakemli Dergi - Kurum Öğretim Elemanıen_US
dc.rightsinfo:eu-repo/semantics/closedAccessen_US
dc.subjectSoftware cognitive complexityen_US
dc.subjectbasic control structuresen_US
dc.subjectJavaen_US
dc.subjectCK metric suiteen_US
dc.titleASSESSING COGNITIVE COMPLEXITY IN JAVA-BASED OBJECT-ORIENTED SYSTEMS: METRICS AND TOOL SUPPORTen_US
dc.typeArticleen_US
dspace.entity.typePublication
relation.isAuthorOfPublication53e88841-fdb7-484f-9e08-efa4e6d1a090
relation.isAuthorOfPublication.latestForDiscovery53e88841-fdb7-484f-9e08-efa4e6d1a090
relation.isOrgUnitOfPublicatione0809e2c-77a7-4f04-9cb0-4bccec9395fa
relation.isOrgUnitOfPublication.latestForDiscoverye0809e2c-77a7-4f04-9cb0-4bccec9395fa

Files

Collections