Skip to content

Instantly share code, notes, and snippets.

@vedanshbhartia
Created August 22, 2023 14:34
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save vedanshbhartia/52fe3c44ef70185e553793220a7b3a69 to your computer and use it in GitHub Desktop.
Save vedanshbhartia/52fe3c44ef70185e553793220a7b3a69 to your computer and use it in GitHub Desktop.
GSoC 2023 Report - Ceph RGW

Project Report: "Gotta Catch 'Em All" - Leveraging Coverity for RGW Code Cleanup in Ceph

The "Gotta Catch 'Em All" project focused on leveraging the Coverity static analysis tool to enhance the code quality of the Ceph RGW (Rados Gateway) module. We addressed a range of issues and categorized them based on severity and relevance. We aim to use this data to evaluate the potential of Coverity for the Ceph organization.

Data

A total of 87 issues were fixed as part of the GSoC, and they were categorized into four main categories based on severity:

  • Critical: 36 issues
  • Not Worth Effort: 6 issues
  • Nice to Have: 10 issues
  • False Positive: 35 issues

The resolved issues were further categorized based on their types:

  • 32-bit Time: 6 issues
  • Null Dereference: 18 issues
  • Memory Leak: 9 issues
  • Uninitialized Variables: 3 issues
  • Use After Move: 5 issues
  • Invalid Type in Format String: 2 issues
  • Logically Dead Code: 5 issues
  • Restoring Ostream Output: 3 issues
  • Out of Scope Access: 1 issue

Bug Severity Analysis

Bug_False Positive Count by Category

Project Outcomes

The "Gotta Catch 'Em All" project yielded the following outcomes:

  • Issue Resolution: A total of 36 critical issues were resolved, improving the reliability of the RGW codebase. Additionally, a substantial number of medium-impact issues were addressed.

  • Categorization Insights: By categorizing these issues, the project provided a comprehensive understanding of the issues affecting the codebase.

  • Data for Community Feedback: The data collected and outcomes achieved are poised to be presented to the larger Ceph community to gather insights and opinions on the value of Coverity for code quality improvement.

Acknowledgments

This project's success would not have been possible without the support and guidance of Yuval (@yuvalif), my project mentor. His expertise and assistance were instrumental in navigating the project's challenges.

I extend my gratitude to the entire Ceph community for their contributions, feedback, and collaboration during the project.

PR Links:

ceph/ceph#52789
ceph/ceph#52735
ceph/ceph#52734
ceph/ceph#52474
ceph/ceph#52473
ceph/ceph#52472
ceph/ceph#52437
ceph/ceph#52436
ceph/ceph#52435
ceph/ceph#52434
ceph/ceph#52433
ceph/ceph#52432
ceph/ceph#52430
ceph/ceph#52338
ceph/ceph#52328
ceph/ceph#52276
ceph/ceph#52254
ceph/ceph#52253
ceph/ceph#52044
ceph/ceph#51972
ceph/ceph#51965
ceph/ceph#51962
ceph/ceph#51719
ceph/ceph#51676
ceph/ceph#51648
ceph/ceph#51549
ceph/ceph#51501
ceph/ceph#51468
ceph/ceph#50346

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment