Skip to content

v1.0.0-rc1 – Feature Complete Candidate

Pre-release
Pre-release

Choose a tag to compare

@Stefan-Dr Stefan-Dr released this 07 Aug 06:17
· 3 commits to main since this release
6750117

🚀 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_heap vs total heap)
    • 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:
    Extracted AllocationEntry structures summarize per-function allocation stats: how much, how often, and what kind of allocations were made.

  • Compile & Run Flow:
    When selecting a .c or .cpp file, 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.


🏷 Tag: v1.0.0-rc1