toplogo
Đăng nhập

CAM: Eine Sammlung von Schnappschüssen von GitHub Java-Repositorys zusammen mit Metriken


Khái niệm cốt lõi
Das CAM-Projekt stellt eine offene Sammlung von Skripten bereit, die regelmäßig Java-Repositorys von GitHub herunterladen, bereinigen und Metriken wie Komplexität, Kohäsion und andere berechnen. Die Ergebnisse werden als "unveränderliches" Archiv veröffentlicht, um die Replizierbarkeit von Forschungsergebnissen zu erleichtern.
Tóm tắt

Das CAM-Projekt wurde entwickelt, um die Arbeit von Forschungsprojekten zu erleichtern, die Java-Quellcode analysieren. Es adressiert drei Hauptprobleme:

  1. Sicherstellung der Replizierbarkeit von Forschungsergebnissen durch das Bereitstellen einer stabilen Datenbasis von heruntergeladenen GitHub-Repositorys.
  2. Implementierung von Filterungsschritten, um unerwünschte Dateien wie Testfälle oder Dateien mit Syntaxfehlern zu entfernen.
  3. Berechnung gängiger Quellcode-Metriken wie Komplexität, Kohäsion usw.

Das CAM-Projekt führt diese Schritte regelmäßig (mindestens einmal jährlich) durch und veröffentlicht die Ergebnisse als "unveränderliches" Archiv. Das neueste Archiv vom 2. März 2024 enthält 532.000 Java-Klassen mit 48 Metriken pro Klasse.

Trotz dieser Bemühungen hat das Projekt auch einige Einschränkungen:

  • Es kann nur einen Bruchteil der Millionen von Java-Repositorys auf GitHub erfassen, da der Prozess sehr zeitaufwendig ist.
  • Einige Metriken mussten leicht modifiziert werden, da moderne Java-Funktionen bei der Einführung der Metriken noch nicht existierten.
  • Der verwendete Parser kann nur Java 8-Syntax verarbeiten und schließt neuere Syntax aus.

Insgesamt erwartet das Projekt, von Forschungsteams genutzt zu werden, die Java-Quellcode analysieren und Replizierbarkeit sowie Datenvorverarbeitung vereinfachen möchten. Die Open-Source-Community wird eingeladen, zur Verbesserung der Skripte beizutragen.

edit_icon

Customize Summary

edit_icon

Rewrite with AI

edit_icon

Generate Citations

translate_icon

Translate Source

visual_icon

Generate MindMap

visit_icon

Visit Source

Thống kê
Die Erstellung des neuesten Archivs vom 2. März 2024 dauerte 10 Tage auf einem Server mit 8 vCPUs und 32 GB RAM. Das Archiv hat eine Größe von 2,2 GB und enthält 532.000 Java-Klassen.
Trích dẫn
"Selbst wenn die meisten der Metriken, die wir sammeln, formale Definitionen haben, die in den Papern beschrieben wurden, in denen die Metriken ursprünglich eingeführt wurden, mussten wir für einige Modifikationen an den ursprünglichen Algorithmen vornehmen." "Wir schließen einfach alle Dateien aus, die von diesem Parser nicht geparst werden können. Forscher, die nach der aktuellsten Java-Syntax suchen, müssen sich an eine andere Datenquelle wenden."

Thông tin chi tiết chính được chắt lọc từ

by Yegor Bugaye... lúc arxiv.org 03-14-2024

https://arxiv.org/pdf/2403.08488.pdf
CAM

Yêu cầu sâu hơn

Wie könnte das CAM-Projekt erweitert werden, um auch andere Programmiersprachen als Java abzudecken?

Um das CAM-Projekt zu erweitern und auch andere Programmiersprachen als Java abzudecken, könnten verschiedene Schritte unternommen werden. Zunächst wäre es wichtig, die Skripte anzupassen, um Repositories in anderen Sprachen zu erkennen und herunterzuladen. Dies könnte durch die Implementierung von Filtern basierend auf Sprachkennzeichnungen oder anderen Metriken erreicht werden. Darüber hinaus müssten die Parser und Metriken-Algorithmen angepasst werden, um die spezifischen Eigenschaften und Anforderungen anderer Sprachen zu berücksichtigen. Es wäre auch sinnvoll, die Community einzubeziehen, um Unterstützung bei der Erweiterung auf andere Sprachen zu erhalten und die Vielfalt der abgedeckten Repositories zu erhöhen.

Welche zusätzlichen Metriken wären für Forscher nützlich und wie könnten diese in das Projekt integriert werden?

Zusätzlich zu den bereits im CAM-Projekt enthaltenen Metriken könnten weitere Metriken für Forscher von großem Nutzen sein. Beispielsweise könnten Metriken zur Code-Qualität, wie z.B. Duplikatkennzahlen, Testabdeckung oder Code-Smells, integriert werden. Diese Metriken könnten dazu beitragen, die Verständlichkeit, Wartbarkeit und Gesamtqualität des Codes zu bewerten. Um diese Metriken in das Projekt zu integrieren, müssten entsprechende Analysewerkzeuge implementiert und in die bestehenden Skripte eingebunden werden. Es wäre wichtig, sicherzustellen, dass die neuen Metriken sinnvoll sind und einen Mehrwert für die Forschung bieten.

Wie könnte das CAM-Projekt mit anderen Initiativen zur Bereitstellung von Forschungsdaten für Softwareanalyse zusammenarbeiten?

Das CAM-Projekt könnte mit anderen Initiativen zur Bereitstellung von Forschungsdaten für Softwareanalyse durch Zusammenarbeit und Datenaustausch synergistische Effekte erzielen. Eine Möglichkeit wäre die Integration von Daten aus anderen Quellen in das CAM-Projekt, um die Vielfalt und Repräsentativität der bereitgestellten Daten zu erhöhen. Darüber hinaus könnten gemeinsame Standards für Datenaufbereitung und Metrikerfassung entwickelt werden, um die Vergleichbarkeit und Interoperabilität zwischen verschiedenen Datensätzen zu gewährleisten. Durch die Zusammenarbeit mit anderen Initiativen könnte das CAM-Projekt seine Reichweite erweitern und einen breiteren Nutzen für die Forschungsgemeinschaft bieten.
0
star