Code Provenance Logger is a VS Code extension for CS1 (Introduction to Computer Science) education and research.
It logs how students write, modify, execute, and debug code, while preserving privacy by design.
The extension focuses on coding behavior and process, not on storing source code content.
Features
Logs coding behavior events:
Edit (insert / delete / replace)
Save
Cursor & selection (debounced)
File open / close
Program run (task and terminal execution)
Diagnostics (errors and warnings)
Privacy-preserving by default
No raw source code is stored
No raw error messages are stored
All text content is recorded as SHA-256 hashes only
Efficient logging
One JSONL file per coding session
Hybrid batching (time-based + event-based)
Immediate flush on save, close, and run events
Research-ready format
Structured JSONL logs
Batch-level integrity hashes
Suitable for large-scale analysis and provenance tracking
Usage
Install the extension using a .vsix file
VS Code → Extensions → … → Install from VSIX…
or:
code --install-extension code-provenance-logger-0.0.1.vsix
Restart VS Code
The extension activates automatically on startup.
Code as usual
Write, save, and run programs normally.
Find log files at:
Windows
%APPDATA%\Code\User\globalStorage\HongwonJeong.code-provenance-logger\logs
Logged Data (Summary)
Edit features (length, newline count, character classes)
Save-time document hash and line count
Cursor position and selection ranges
File open/close timestamps
Run attempts and exit codes (when available)
Diagnostic counts (errors, warnings, infos)
Raw code and raw messages are never stored.
Use Cases
Distinguishing typing-based coding from copy-and-paste behavior
Analyzing error–fix–run cycles in CS1 assignments
Studying students’ coding strategies and progress
Building datasets for educational data mining and AI feedback
Notes
Intended for educational and research purposes
User consent is recommended before deployment
No personally identifiable information is collected
License
MIT
Author
Hongwon Jeong
Hanyang University
beatsbywoni@hanyang.ac.kr