Nothing Special   »   [go: up one dir, main page]

skip to main content
research-article

Using the Conceptual Cohesion of Classes for Fault Prediction in Object-Oriented Systems

Published: 01 March 2008 Publication History

Abstract

High cohesion is a desirable property of software, as it positively impacts understanding, reuse, and maintenance. Currently proposed measures for cohesion in Object-Oriented (OO) software reflect particular interpretations of cohesion and capture different aspects of cohesion. The paper proposes a new measure for the cohesion of classes in an OO software system, based on the analysis of the unstructured information embedded in the source code, such as comments and identifiers. The measure, named the Conceptual Cohesion of Classes (C3), is inspired from the mechanisms used to measure textual coherence in cognitive psychology and computational linguistics. The paper presents the principles and the technology that stand behind the C3 measure. A large case study on three open source software systems is presented, which compares the new measure with an extensive set of existing metrics and uses them to construct models that predict software faults. The case study shows that the novel measure captures different aspects of class cohesion compared to any of the existing cohesion measures. In addition, combining C3 with existing structural cohesion metrics proves to be a better predictor of faulty classes when compared to different combinations of structural cohesion metrics.

Cited By

View all
  • (2023)EASE: An Effort-aware Extension of Unsupervised Key Class Identification ApproachesACM Transactions on Software Engineering and Methodology10.1145/363571433:4(1-43)Online publication date: 2-Dec-2023
  • (2023)Video Game Bad Smells: What They Are and How Developers Perceive ThemACM Transactions on Software Engineering and Methodology10.1145/356321432:4(1-35)Online publication date: 26-May-2023
  • (2023)Pride: Prioritizing Documentation Effort Based on a PageRank-Like Algorithm and Simple Filtering RulesIEEE Transactions on Software Engineering10.1109/TSE.2022.317146949:3(1118-1151)Online publication date: 1-Mar-2023
  • Show More Cited By

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image IEEE Transactions on Software Engineering
IEEE Transactions on Software Engineering  Volume 34, Issue 2
March 2008
143 pages

Publisher

IEEE Press

Publication History

Published: 01 March 2008

Author Tags

  1. Code documentation
  2. Document analysis
  3. Document indexing
  4. Maintainability
  5. Metrics/Measurement
  6. Quality analysis and evaluation
  7. Restructuring
  8. and reengineering
  9. reverse engineering

Qualifiers

  • Research-article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)0
  • Downloads (Last 6 weeks)0
Reflects downloads up to 16 Nov 2024

Other Metrics

Citations

Cited By

View all
  • (2023)EASE: An Effort-aware Extension of Unsupervised Key Class Identification ApproachesACM Transactions on Software Engineering and Methodology10.1145/363571433:4(1-43)Online publication date: 2-Dec-2023
  • (2023)Video Game Bad Smells: What They Are and How Developers Perceive ThemACM Transactions on Software Engineering and Methodology10.1145/356321432:4(1-35)Online publication date: 26-May-2023
  • (2023)Pride: Prioritizing Documentation Effort Based on a PageRank-Like Algorithm and Simple Filtering RulesIEEE Transactions on Software Engineering10.1109/TSE.2022.317146949:3(1118-1151)Online publication date: 1-Mar-2023
  • (2022)Multi-dimensional information-driven many-objective software remodularization approachFrontiers of Computer Science: Selected Publications from Chinese Universities10.1007/s11704-022-1449-217:3Online publication date: 8-Nov-2022
  • (2021)Search-based software re-modularizationProceedings of the 43rd International Conference on Software Engineering: Software Engineering in Practice10.1109/ICSE-SEIP52600.2021.00017(81-90)Online publication date: 25-May-2021
  • (2021)Investigating the criticality of user‐reported issues through their relations with app ratingJournal of Software: Evolution and Process10.1002/smr.231633:3Online publication date: 3-Mar-2021
  • (2020)Using Relative Lines of Code to Guide Automated Test Generation for PythonACM Transactions on Software Engineering and Methodology10.1145/340889629:4(1-38)Online publication date: 26-Sep-2020
  • (2020)Why Developers Refactor Source CodeACM Transactions on Software Engineering and Methodology10.1145/340830229:4(1-30)Online publication date: 26-Sep-2020
  • (2020)A Model to Detect Readability Improvements in Incremental ChangesProceedings of the 28th International Conference on Program Comprehension10.1145/3387904.3389255(25-36)Online publication date: 13-Jul-2020
  • (2020)Feature-oriented defect predictionProceedings of the 24th ACM Conference on Systems and Software Product Line: Volume A - Volume A10.1145/3382025.3414960(1-12)Online publication date: 19-Oct-2020
  • Show More Cited By

View Options

View options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media