Repository navigation
v1.0.0-rc1 – Feature Complete Candidate
Pre-release🚀 Release v1.0.0-rc1 – Feature-Complete Candidate
This is the first release candidate of 2024_Research_MassifCheck, a fully functional Qt desktop application for profiling and analyzing heap memory usage using Valgrind Massif.
All core features are implemented, and this version is submitted for academic review.
✨ New Features
-
Configurable Thresholds via GUI:
Thresholds for memory analysis are now fully customizable through the Settings window, replacing previously hardcoded values. -
Extended Heap Analysis Heuristics:
Added multiple new analysis rules:- Total memory allocated per function
- Number of allocation calls per function
- Detection of memory fragmentation (based on
useful_heapvs totalheap) - Identification of many small allocations
- Detection if a function allocated a large amount of memory
- Based on the final snapshots, the program estimates whether memory has been properly freed by the end of execution
- Recommendations based on these metrics
-
Detailed Allocation Summaries:
ExtractedAllocationEntrystructures summarize per-function allocation stats: how much, how often, and what kind of allocations were made. -
Compile & Run Flow:
When selecting a.cor.cppfile, the app compiles it and automatically runs it with Valgrind Massif using the current or default options.
🎨 UI & UX Improvements
-
Persistent Settings & Thresholds:
User-selected options and thresholds are now remembered across sessions. The Settings dialog reflects the current configuration when reopened. -
Improved Result Dialog Feedback:
Messages returned after Massif analysis are now grouped into:- Errors
- Informational insights
- Optimization recommendations
🧰 Project Updates
- Updated
README.md - Added Usage Guide on the project Wiki
- Cleaned up error messaging and internal logic
⚠️ Known Limitations
- Tested on Windows 10/11 with WSL2 + Ubuntu 22.04
- Valgrind is only available via Linux/WSL, not natively on Windows
📬 Notes
This version is intended for faculty review as a feature-complete submission.
If issues or suggestions arise during evaluation, they will be tracked in the GitHub Issues section.