Some rewrites

This commit is contained in:
Booklordofthedings 2024-12-16 19:44:18 +01:00
parent 65f5d561ab
commit cc32273c10

View file

@ -82,35 +82,48 @@ SDL ist eine Software Bibliothek für Platformübergreifende Software. Es wird s
Die Variablen, die analysiert werden, sind in zwei Dateien vorhanden, da eine 1:n Beziehung besteht.
Ein einzelner Commit kann mehrere Änderungen an Dateien besitzen, sodass dort diese Beziehung entsteht.
#### commits
- Commit Hash *//Representiert die Id des jeweiligen Commits*
- Name *//Name*
- Email *//Email*
- Time *//Zeitcode wann der Commit erstellt wurde*
- Signed *//Ob dieser Comit mit einem Schlüssel "unterschrieben" wurde*
- Binaries *//Wie viele binäre Dateien mit dem Commit verändert wurden*
#### diffs
- Commit Hash *//Representiert die Id des jeweiligen Commits*
- Add *//Menge an hinzugefügten Codezeilen*
- Remove *//Menge an entfernten Codezeilen*
- File *//Die spezifische Datei die verändert wurde*
#### Commits
| Name | Bedeutung |
| -----| --------- |
| Commit Hash | Representiert die Id des jeweiligen Commits |
| Name | Benutzername des Autors des Commits |
| Email | Email des Autors des Commits |
| Time | Unix Zeitcode des Erstellungszeitpunktes des Commmits |
| Signed | Ob der Commit mit einem Schlüssel "unterschrieben" wurde |
| Binaries | Wie viele binäre Dateien in dem Commit verändert wurden |
#### Diffs
| Name | Bedeutung |
| -----| --------- |
| Commit Hash | Representiert die Id des jeweiligen Commits |
| Add | Menge an hinzugefügten Codezeilen |
| Remove | Menge an entfernten Codezeilen |
| File | Die spezifische Datei die verändert wurde |
### 2.2 Bedeutungen
Die Daten besitzen keine Fehler, müssen allerdings noch interpretiert werden.
In den Beispieldaten ist kein Fehler enthalten da sie von Git aus dem Repository extrahiert wurden.
Zwar sind manche Einträge auffällig, allerdings ist es das Ziel dieser Arbeit auffällige Commits ausfindig machen zu können,
weshalb sie hier nicht aus dem Datensatz entfernt werden.
Zur Extraktion der Daten wird ein Script über die Roh Ausgabe von Git laufen gelassen und danach noch ein Paar Veränderungen in diesem Dokument vorgenommen
um die Daten nutzbar zu machen.
**Time** Ist eine Unix Timestamp, also die Zeit in Sekunden seit 1970, da wir für die Analyse aber eher die Tageszeit benötigen müssen die Daten erst umgewandelt werden.
**Time** Ist eine Unix Timestamp, welche die Zeit in Sekunden seit 1970 angibt,
da für die Analyse aber die Tageszeit eine Rolle spielt müssen die Daten erst umgewandelt werden.
```{r}
commits$time <- anytime(commits$time)
```
**Signed** nutzt ein einzelnes Zeichen um anzuzeigen, ob der Commit signiert wurde,
dies kann bei der Analyse berücksichtigt werden und benötigt keiner eigenen Umwandlung.
dies kann bei der Analyse berücksichtigt werden und benötigt keine Umwandlung.
**add** und **remove** von aus **diffs** hat manche Einträge die ein "-" anstatt einer Zahl besitzen.
**add** und **remove** aus **diffs** hat manche Einträge die ein "-" anstatt einer Zahl besitzen.
Dies wird von Git benutzt, um anzuzeigen, dass es sich um eine binäre Datei handelt, bei welcher Zeilen Unterschiede keine logische Bedeutung haben.
Diese Einträge werden mithilfe eines Skriptes entfernt und die Anzahl pro Commit, wird zu dem Commit als **binaries** hinzugefügt.
@ -128,8 +141,8 @@ Diese Einträge werden mithilfe eines Skriptes entfernt und die Anzahl pro Commi
ylab("Commits")
```
Die vorhergehende Graphik zeigt an, wie viele Commits pro Quartal eines Jahres angefallen sind,
interessant ist hier, dass die commits in Monaten in welchen eine neue Version der Software veröffentlicht wurde besonders hoch sind. Auch gibt es einen Commit der angeblich 1970 erstellt wurde. Dies zeigt eine der ersten Möglichkeiten auf, mit der man auffällige Commits erkennen kann.
Die vorhergehende Graphik zeigt an, wie viele Commits pro Quartal eines Jahres angefallen sind.
Interessant ist hier, dass die Commits in Monaten in welchen eine neue Version der Software veröffentlicht wurde besonders hoch sind. Auch gibt es einen Commit der angeblich 1970 erstellt wurde. Dies zeigt eine der ersten Möglichkeiten auf, mit der man auffällige Commits erkennen kann.
- **Falls die Jahreszahl stark von der Jahreszahl anderer Commits aufweicht ist sie auffällig**
@ -151,6 +164,8 @@ Das Diagram zeigt das Arithmetische Mittel der Zeiten wann ein Nutzer einen Comm
Dies ist dadurch zu erklären, dass ein Großteil der Nutzer aus den USA bzw. Europa kommt und das somit diese Zeiten besonders häufig vorkommen.
Zum bestimmen von auffälligen Commits sollte die Abweichung von eines Commits von der sonstigen Tageszeit des Nutzers benutzt werden. Hierzu muss ein Nutzer aber schon eine gewisse Menge an Commits haben.
- **Wenn ein Nutzer zu einer Tageszeit Commited die stark von seiner Tageszeit abweicht **
### 3.3 Menge an Commits pro Person
```{r}