Measuring Object-Oriented Class Cohesion Based on Complex Networks View Full Text


Ontology type: schema:ScholarlyArticle     


Article Info

DATE

2017-05-20

AUTHORS

Aihua Gu, Xiaofeng Zhou, Zonghua Li, Qinfeng Li, Lu Li

ABSTRACT

Class cohesion has an immediate impact on maintainability, modifiability and understandability of the software. Here, a new metric of cohesion based on complex networks (CBCN) for measuring connectivity of class members was developed mainly relying on calculating class average clustering coefficient from graphs representing connectivity patterns of the various class members. In addition, the CBCN metric was assessed with theoretical validation according to four properties (nonnegativity and normalization, null and maximum values, monotonicity, cohesive modules) of the class cohesion theory. Based on data comparison with existing seventeen typical class cohesion metrics of class cohesion for a system, the CBCN metric was superior to others. Applying the CBCN metric to three open source software systems to calculate class average clustering coefficients, we found that understanding, modification and maintenance of classes in an open software system could be likely less difficult compared with those of others. Three open software systems have power-law distributions for the class average clustering coefficient, which makes possible the further understanding of the cohesion metric based on complex networks. More... »

PAGES

3551-3561

References to SciGraph publications

Identifiers

URI

http://scigraph.springernature.com/pub.10.1007/s13369-017-2588-x

DOI

http://dx.doi.org/10.1007/s13369-017-2588-x

DIMENSIONS

https://app.dimensions.ai/details/publication/pub.1085456032


Indexing Status Check whether this publication has been indexed by Scopus and Web Of Science using the SN Indexing Status Tool
Incoming Citations Browse incoming citations for this publication using opencitations.net

JSON-LD is the canonical representation for SciGraph data.

TIP: You can open this SciGraph record using an external JSON-LD service: JSON-LD Playground Google SDTT

[
  {
    "@context": "https://springernature.github.io/scigraph/jsonld/sgcontext.json", 
    "about": [
      {
        "id": "http://purl.org/au-research/vocabulary/anzsrc-for/2008/09", 
        "inDefinedTermSet": "http://purl.org/au-research/vocabulary/anzsrc-for/2008/", 
        "name": "Engineering", 
        "type": "DefinedTerm"
      }, 
      {
        "id": "http://purl.org/au-research/vocabulary/anzsrc-for/2008/0905", 
        "inDefinedTermSet": "http://purl.org/au-research/vocabulary/anzsrc-for/2008/", 
        "name": "Civil Engineering", 
        "type": "DefinedTerm"
      }, 
      {
        "id": "http://purl.org/au-research/vocabulary/anzsrc-for/2008/0912", 
        "inDefinedTermSet": "http://purl.org/au-research/vocabulary/anzsrc-for/2008/", 
        "name": "Materials Engineering", 
        "type": "DefinedTerm"
      }
    ], 
    "author": [
      {
        "affiliation": {
          "alternateName": "School of Information Engineering, Yancheng Teachers University, 224002, Yancheng, China", 
          "id": "http://www.grid.ac/institutes/grid.443649.8", 
          "name": [
            "School of Computer and Information Science, Hohai University, 210098, Nanjing, China", 
            "School of Information Engineering, Yancheng Teachers University, 224002, Yancheng, China"
          ], 
          "type": "Organization"
        }, 
        "familyName": "Gu", 
        "givenName": "Aihua", 
        "id": "sg:person.07357470734.43", 
        "sameAs": [
          "https://app.dimensions.ai/discover/publication?and_facet_researcher=ur.07357470734.43"
        ], 
        "type": "Person"
      }, 
      {
        "affiliation": {
          "alternateName": "School of Computer and Information Science, Hohai University, 210098, Nanjing, China", 
          "id": "http://www.grid.ac/institutes/grid.257065.3", 
          "name": [
            "School of Computer and Information Science, Hohai University, 210098, Nanjing, China"
          ], 
          "type": "Organization"
        }, 
        "familyName": "Zhou", 
        "givenName": "Xiaofeng", 
        "id": "sg:person.010173047046.04", 
        "sameAs": [
          "https://app.dimensions.ai/discover/publication?and_facet_researcher=ur.010173047046.04"
        ], 
        "type": "Person"
      }, 
      {
        "affiliation": {
          "alternateName": "School of Computer and Information Science, Hohai University, 210098, Nanjing, China", 
          "id": "http://www.grid.ac/institutes/grid.257065.3", 
          "name": [
            "School of Computer and Information Science, Hohai University, 210098, Nanjing, China"
          ], 
          "type": "Organization"
        }, 
        "familyName": "Li", 
        "givenName": "Zonghua", 
        "id": "sg:person.014501735546.99", 
        "sameAs": [
          "https://app.dimensions.ai/discover/publication?and_facet_researcher=ur.014501735546.99"
        ], 
        "type": "Person"
      }, 
      {
        "affiliation": {
          "alternateName": "School of Computer and Information Science, Hohai University, 210098, Nanjing, China", 
          "id": "http://www.grid.ac/institutes/grid.257065.3", 
          "name": [
            "School of Computer and Information Science, Hohai University, 210098, Nanjing, China"
          ], 
          "type": "Organization"
        }, 
        "familyName": "Li", 
        "givenName": "Qinfeng", 
        "id": "sg:person.07443601646.54", 
        "sameAs": [
          "https://app.dimensions.ai/discover/publication?and_facet_researcher=ur.07443601646.54"
        ], 
        "type": "Person"
      }, 
      {
        "affiliation": {
          "alternateName": "School of Information Engineering, Yancheng Teachers University, 224002, Yancheng, China", 
          "id": "http://www.grid.ac/institutes/grid.443649.8", 
          "name": [
            "School of Information Engineering, Yancheng Teachers University, 224002, Yancheng, China"
          ], 
          "type": "Organization"
        }, 
        "familyName": "Li", 
        "givenName": "Lu", 
        "id": "sg:person.013275334142.99", 
        "sameAs": [
          "https://app.dimensions.ai/discover/publication?and_facet_researcher=ur.013275334142.99"
        ], 
        "type": "Person"
      }
    ], 
    "citation": [
      {
        "id": "sg:pub.10.1038/30918", 
        "sameAs": [
          "https://app.dimensions.ai/details/publication/pub.1041985305", 
          "https://doi.org/10.1038/30918"
        ], 
        "type": "CreativeWork"
      }, 
      {
        "id": "sg:pub.10.1023/a:1009783721306", 
        "sameAs": [
          "https://app.dimensions.ai/details/publication/pub.1022899290", 
          "https://doi.org/10.1023/a:1009783721306"
        ], 
        "type": "CreativeWork"
      }
    ], 
    "datePublished": "2017-05-20", 
    "datePublishedReg": "2017-05-20", 
    "description": "Class cohesion has an immediate impact on maintainability, modifiability and understandability of the software. Here, a new metric of cohesion based on complex networks (CBCN) for measuring connectivity of class members was developed mainly relying on calculating class average clustering coefficient from graphs representing connectivity patterns of the various class members. In addition, the CBCN metric was assessed with theoretical validation according to four properties (nonnegativity and normalization, null and maximum values, monotonicity, cohesive modules) of the class cohesion theory. Based on data comparison with existing seventeen typical class cohesion metrics of class cohesion for a system, the CBCN metric was superior to others. Applying the CBCN metric to three open source software systems to calculate class average clustering coefficients, we found that understanding, modification and maintenance of classes in an open software system could be likely less difficult compared with those of others. Three open software systems have power-law distributions for the class average clustering coefficient, which makes possible the further understanding of the cohesion metric based on complex networks.", 
    "genre": "article", 
    "id": "sg:pub.10.1007/s13369-017-2588-x", 
    "isAccessibleForFree": false, 
    "isPartOf": [
      {
        "id": "sg:journal.1372786", 
        "issn": [
          "2193-567X", 
          "2191-4281"
        ], 
        "name": "Arabian Journal for Science and Engineering", 
        "publisher": "Springer Nature", 
        "type": "Periodical"
      }, 
      {
        "issueNumber": "8", 
        "type": "PublicationIssue"
      }, 
      {
        "type": "PublicationVolume", 
        "volumeNumber": "42"
      }
    ], 
    "keywords": [
      "open software systems", 
      "software systems", 
      "open source software systems", 
      "cohesion metrics", 
      "complex networks", 
      "average clustering coefficient", 
      "class cohesion", 
      "maintenance of class", 
      "clustering coefficient", 
      "class cohesion metrics", 
      "power-law distribution", 
      "network", 
      "new metric", 
      "metrics", 
      "theoretical validation", 
      "maintainability", 
      "class members", 
      "understandability", 
      "system", 
      "software", 
      "graph", 
      "class", 
      "connectivity patterns", 
      "data comparison", 
      "coefficient", 
      "objects", 
      "modifiability", 
      "connectivity", 
      "theory", 
      "validation", 
      "distribution", 
      "properties", 
      "cohesion theory", 
      "maintenance", 
      "immediate impact", 
      "comparison", 
      "understanding", 
      "patterns", 
      "cohesion", 
      "addition", 
      "impact", 
      "modification", 
      "members", 
      "further understanding"
    ], 
    "name": "Measuring Object-Oriented Class Cohesion Based on Complex Networks", 
    "pagination": "3551-3561", 
    "productId": [
      {
        "name": "dimensions_id", 
        "type": "PropertyValue", 
        "value": [
          "pub.1085456032"
        ]
      }, 
      {
        "name": "doi", 
        "type": "PropertyValue", 
        "value": [
          "10.1007/s13369-017-2588-x"
        ]
      }
    ], 
    "sameAs": [
      "https://doi.org/10.1007/s13369-017-2588-x", 
      "https://app.dimensions.ai/details/publication/pub.1085456032"
    ], 
    "sdDataset": "articles", 
    "sdDatePublished": "2022-11-24T21:01", 
    "sdLicense": "https://scigraph.springernature.com/explorer/license/", 
    "sdPublisher": {
      "name": "Springer Nature - SN SciGraph project", 
      "type": "Organization"
    }, 
    "sdSource": "s3://com-springernature-scigraph/baseset/20221124/entities/gbq_results/article/article_734.jsonl", 
    "type": "ScholarlyArticle", 
    "url": "https://doi.org/10.1007/s13369-017-2588-x"
  }
]
 

Download the RDF metadata as:  json-ld nt turtle xml License info

HOW TO GET THIS DATA PROGRAMMATICALLY:

JSON-LD is a popular format for linked data which is fully compatible with JSON.

curl -H 'Accept: application/ld+json' 'https://scigraph.springernature.com/pub.10.1007/s13369-017-2588-x'

N-Triples is a line-based linked data format ideal for batch operations.

curl -H 'Accept: application/n-triples' 'https://scigraph.springernature.com/pub.10.1007/s13369-017-2588-x'

Turtle is a human-readable linked data format.

curl -H 'Accept: text/turtle' 'https://scigraph.springernature.com/pub.10.1007/s13369-017-2588-x'

RDF/XML is a standard XML format for linked data.

curl -H 'Accept: application/rdf+xml' 'https://scigraph.springernature.com/pub.10.1007/s13369-017-2588-x'


 

This table displays all metadata directly associated to this object as RDF triples.

145 TRIPLES      21 PREDICATES      71 URIs      60 LITERALS      6 BLANK NODES

Subject Predicate Object
1 sg:pub.10.1007/s13369-017-2588-x schema:about anzsrc-for:09
2 anzsrc-for:0905
3 anzsrc-for:0912
4 schema:author Nd934451fb0f04b81b8c8ee4e301fcb6e
5 schema:citation sg:pub.10.1023/a:1009783721306
6 sg:pub.10.1038/30918
7 schema:datePublished 2017-05-20
8 schema:datePublishedReg 2017-05-20
9 schema:description Class cohesion has an immediate impact on maintainability, modifiability and understandability of the software. Here, a new metric of cohesion based on complex networks (CBCN) for measuring connectivity of class members was developed mainly relying on calculating class average clustering coefficient from graphs representing connectivity patterns of the various class members. In addition, the CBCN metric was assessed with theoretical validation according to four properties (nonnegativity and normalization, null and maximum values, monotonicity, cohesive modules) of the class cohesion theory. Based on data comparison with existing seventeen typical class cohesion metrics of class cohesion for a system, the CBCN metric was superior to others. Applying the CBCN metric to three open source software systems to calculate class average clustering coefficients, we found that understanding, modification and maintenance of classes in an open software system could be likely less difficult compared with those of others. Three open software systems have power-law distributions for the class average clustering coefficient, which makes possible the further understanding of the cohesion metric based on complex networks.
10 schema:genre article
11 schema:isAccessibleForFree false
12 schema:isPartOf N7dcbc77e37db49e9bde020e549b5a190
13 Nf661eedddcd24d0f9b837512109a4433
14 sg:journal.1372786
15 schema:keywords addition
16 average clustering coefficient
17 class
18 class cohesion
19 class cohesion metrics
20 class members
21 clustering coefficient
22 coefficient
23 cohesion
24 cohesion metrics
25 cohesion theory
26 comparison
27 complex networks
28 connectivity
29 connectivity patterns
30 data comparison
31 distribution
32 further understanding
33 graph
34 immediate impact
35 impact
36 maintainability
37 maintenance
38 maintenance of class
39 members
40 metrics
41 modifiability
42 modification
43 network
44 new metric
45 objects
46 open software systems
47 open source software systems
48 patterns
49 power-law distribution
50 properties
51 software
52 software systems
53 system
54 theoretical validation
55 theory
56 understandability
57 understanding
58 validation
59 schema:name Measuring Object-Oriented Class Cohesion Based on Complex Networks
60 schema:pagination 3551-3561
61 schema:productId Nec14461a71484d008777a29fa82e7b1e
62 Nfd12e681d7a942aeba73c2183ee9454d
63 schema:sameAs https://app.dimensions.ai/details/publication/pub.1085456032
64 https://doi.org/10.1007/s13369-017-2588-x
65 schema:sdDatePublished 2022-11-24T21:01
66 schema:sdLicense https://scigraph.springernature.com/explorer/license/
67 schema:sdPublisher N60ead07c40da429abedb5ed758e574e6
68 schema:url https://doi.org/10.1007/s13369-017-2588-x
69 sgo:license sg:explorer/license/
70 sgo:sdDataset articles
71 rdf:type schema:ScholarlyArticle
72 N60ead07c40da429abedb5ed758e574e6 schema:name Springer Nature - SN SciGraph project
73 rdf:type schema:Organization
74 N7dcbc77e37db49e9bde020e549b5a190 schema:issueNumber 8
75 rdf:type schema:PublicationIssue
76 N9f756b997e09403d99bafa45f0308569 rdf:first sg:person.013275334142.99
77 rdf:rest rdf:nil
78 Na2cff494a95d4a598d3bf88b0f232600 rdf:first sg:person.014501735546.99
79 rdf:rest Nb10ede9070cf437fb86eaf8e73e9ee71
80 Nb10ede9070cf437fb86eaf8e73e9ee71 rdf:first sg:person.07443601646.54
81 rdf:rest N9f756b997e09403d99bafa45f0308569
82 Nc328fc06def34e7582765ce74ffccce5 rdf:first sg:person.010173047046.04
83 rdf:rest Na2cff494a95d4a598d3bf88b0f232600
84 Nd934451fb0f04b81b8c8ee4e301fcb6e rdf:first sg:person.07357470734.43
85 rdf:rest Nc328fc06def34e7582765ce74ffccce5
86 Nec14461a71484d008777a29fa82e7b1e schema:name doi
87 schema:value 10.1007/s13369-017-2588-x
88 rdf:type schema:PropertyValue
89 Nf661eedddcd24d0f9b837512109a4433 schema:volumeNumber 42
90 rdf:type schema:PublicationVolume
91 Nfd12e681d7a942aeba73c2183ee9454d schema:name dimensions_id
92 schema:value pub.1085456032
93 rdf:type schema:PropertyValue
94 anzsrc-for:09 schema:inDefinedTermSet anzsrc-for:
95 schema:name Engineering
96 rdf:type schema:DefinedTerm
97 anzsrc-for:0905 schema:inDefinedTermSet anzsrc-for:
98 schema:name Civil Engineering
99 rdf:type schema:DefinedTerm
100 anzsrc-for:0912 schema:inDefinedTermSet anzsrc-for:
101 schema:name Materials Engineering
102 rdf:type schema:DefinedTerm
103 sg:journal.1372786 schema:issn 2191-4281
104 2193-567X
105 schema:name Arabian Journal for Science and Engineering
106 schema:publisher Springer Nature
107 rdf:type schema:Periodical
108 sg:person.010173047046.04 schema:affiliation grid-institutes:grid.257065.3
109 schema:familyName Zhou
110 schema:givenName Xiaofeng
111 schema:sameAs https://app.dimensions.ai/discover/publication?and_facet_researcher=ur.010173047046.04
112 rdf:type schema:Person
113 sg:person.013275334142.99 schema:affiliation grid-institutes:grid.443649.8
114 schema:familyName Li
115 schema:givenName Lu
116 schema:sameAs https://app.dimensions.ai/discover/publication?and_facet_researcher=ur.013275334142.99
117 rdf:type schema:Person
118 sg:person.014501735546.99 schema:affiliation grid-institutes:grid.257065.3
119 schema:familyName Li
120 schema:givenName Zonghua
121 schema:sameAs https://app.dimensions.ai/discover/publication?and_facet_researcher=ur.014501735546.99
122 rdf:type schema:Person
123 sg:person.07357470734.43 schema:affiliation grid-institutes:grid.443649.8
124 schema:familyName Gu
125 schema:givenName Aihua
126 schema:sameAs https://app.dimensions.ai/discover/publication?and_facet_researcher=ur.07357470734.43
127 rdf:type schema:Person
128 sg:person.07443601646.54 schema:affiliation grid-institutes:grid.257065.3
129 schema:familyName Li
130 schema:givenName Qinfeng
131 schema:sameAs https://app.dimensions.ai/discover/publication?and_facet_researcher=ur.07443601646.54
132 rdf:type schema:Person
133 sg:pub.10.1023/a:1009783721306 schema:sameAs https://app.dimensions.ai/details/publication/pub.1022899290
134 https://doi.org/10.1023/a:1009783721306
135 rdf:type schema:CreativeWork
136 sg:pub.10.1038/30918 schema:sameAs https://app.dimensions.ai/details/publication/pub.1041985305
137 https://doi.org/10.1038/30918
138 rdf:type schema:CreativeWork
139 grid-institutes:grid.257065.3 schema:alternateName School of Computer and Information Science, Hohai University, 210098, Nanjing, China
140 schema:name School of Computer and Information Science, Hohai University, 210098, Nanjing, China
141 rdf:type schema:Organization
142 grid-institutes:grid.443649.8 schema:alternateName School of Information Engineering, Yancheng Teachers University, 224002, Yancheng, China
143 schema:name School of Computer and Information Science, Hohai University, 210098, Nanjing, China
144 School of Information Engineering, Yancheng Teachers University, 224002, Yancheng, China
145 rdf:type schema:Organization
 




Preview window. Press ESC to close (or click here)


...