feixiao/Distributed-Systems
MIT课程《Distributed Systems 》学习和翻译
- Repository: https://github.com/feixiao/Distributed-Systems
- Commit:
3aba6d5eacdf18c25b661c914accf17106cd9f9d - Generated: 2026-11-13T23:26:25+00:00
- Scorer 0.1.0, scoring prov-4+qual-2+sec-2, report schema v2
Scores
| Pillar | Score | Signal | Confidence | Coverage |
|---|---|---|---|---|
| AI provenance (estimated AI-generated share) | 0 | none-detected | 65% | 100% |
| Code quality | 61 | weak | 90% | 100% |
| Security | 72 | adequate | 85% | 100% |
AI provenance
No AI attribution or AI-consistent velocity signals detected.
-
Explicitly attributed share (lower bound): 0.0%
-
Unattributed share in AI-consistent velocity bursts: 0.0%
-
Estimated AI-generated share: 0.0%
-
Stylometry index: 0.15 per 1,000 lines (narrated steps 1, placeholders 0, assistant phrasing 0, emoji 0). Reported as a signal, not scored.
| Month | Lines added | Attributed to AI |
|---|---|---|
| 2016-07 | 30,736 | 0% |
| 2016-08 | 122 | 0% |
| 2016-09 | 21 | 0% |
| 2016-10 | 41 | 0% |
| 2017-02 | 137 | 0% |
| 2017-03 | 5 | 0% |
Evidence
- step-by-step narration comment: // First, it divides up the input file among the given number of mappers, and (6.824/src/ma)
AI provenance describes how code was produced; it is not a quality judgment. Unless attribution is explicit, these are signals consistent with AI generation, not proof. Squash/rebase workflows, imported code, and rewritten history reduce accuracy.
Code quality
Code quality is weak: test-to-source ratio 1.33, no CI test run detected; 2% of function code in complex or long functions; 28% duplicated lines. Weakest area: duplication.
| Area | Score |
|---|---|
| Complexity (lizard) | 96 |
| Duplication | 19 |
| Code smells (Opengrep) | 93 |
| Tests and CI | 55 |
| Documentation | 20 |
| Type safety | n/a |
| Process (Scorecard review/maintenance) | n/a |
- Functions: 334; mean complexity 2.4, 90th percentile 5; 1 complex and 0 long functions
- Duplicated lines: 27.6% of 4,303 compared
- Tests: 8,893 test lines for 6,677 source lines (ratio 1.33); CI test commands: none detected; 70% of recent source commits also change tests
- Docs missing or thin: readme, license, contributing, changelog
Most complex functions:
Security
Security posture is adequate: no high-impact findings. Weakest area: posture.
| Area | Score |
|---|---|
| Secrets (gitleaks, tree + history) | 100 |
| Static analysis (Opengrep) | 73 |
| Vulnerable dependencies (OSV) | n/a |
| CI workflows (zizmor) | n/a |
| Posture (policy, updates, signing, lockfiles) | 0 |
| OpenSSF Scorecard | n/a |
- Posture checks passed: lockfiles; missing: security policy, dependency updates, signed commits
Top findings
| Severity | Finding | Location |
|---|---|---|
| medium | opengrep/go.lang.security.audit.crypto.math-random-used: Do not use math/rand. Use crypto/rand instead. [confidence medium] |
6.824/src/diskv/server.go:15 |
| medium | opengrep/go.lang.security.audit.crypto.math-random-used: Do not use math/rand. Use crypto/rand instead. [confidence medium] |
6.824/src/kvpaxos/server.go:13 |
| medium | opengrep/go.lang.security.audit.crypto.math-random-used: Do not use math/rand. Use crypto/rand instead. [confidence medium] |
6.824/src/kvraft/config.go:9 |
| medium | opengrep/go.lang.security.audit.crypto.math-random-used: Do not use math/rand. Use crypto/rand instead. [confidence medium] |
6.824/src/labrpc/labrpc.go:57 |
| medium | opengrep/go.lang.security.audit.crypto.math-random-used: Do not use math/rand. Use crypto/rand instead. [confidence medium] |
6.824/src/paxos-shardkv/server.go:14 |
| medium | opengrep/go.lang.security.audit.crypto.math-random-used: Do not use math/rand. Use crypto/rand instead. [confidence medium] |
6.824/src/paxos-shardmaster/server.go:14 |
| medium | opengrep/go.lang.security.audit.crypto.math-random-used: Do not use math/rand. Use crypto/rand instead. [confidence medium] |
6.824/src/paxos/paxos.go:32 |
| medium | opengrep/go.lang.security.audit.crypto.math-random-used: Do not use math/rand. Use crypto/rand instead. [confidence medium] |
6.824/src/pbservice/server.go:13 |
| medium | opengrep/go.lang.security.audit.crypto.math-random-used: Do not use math/rand. Use crypto/rand instead. [confidence medium] |
6.824/src/shardkv/config.go:10 |
| medium | opengrep/go.lang.security.audit.crypto.math-random-used: Do not use math/rand. Use crypto/rand instead. [confidence medium] |
6.824/src/shardmaster/config.go:10 |
Static signals only: the scorer never runs the project's code. Secret findings are pattern matches that were not verified, and secret values are never stored.
Repository profile
- Source lines: 6,677; test lines: 8,893
| Language | Lines |
|---|---|
| Go | 15,527 |
| Shell | 43 |