Skip to content

Releases: MATF-Software-Verification/2024_Research_MassifCheck

v1.0.0-rc1 – Feature Complete Candidate

07 Aug 06:17
6750117

Choose a tag to compare

🚀 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

Early Preview

14 Jul 20:04
636ab74

Choose a tag to compare

Early Preview Pre-release
Pre-release

🚀 Release 0.1.0 – Early Preview

This is the early preview release of 2024_Research_MassifCheck, a Qt desktop application for profiling and analyzing heap memory usage with Valgrind Massif.


✨ Features

  • Select C or C++ source files (.c, .cpp) to automatically compile.
  • Select already compiled binaries for profiling.
  • Customize Massif command options.
  • Parse and display Massif output summaries.
  • Includes an optional helper script to automate profiling of multiple test files (run_massif_on_tests.sh).

🛠 Requirements

  • Qt Creator 6.0+ (MSVC or MinGW kit recommended)
  • WSL (Windows Subsystem for Linux)
  • Ubuntu installed in WSL
  • GCC/G++ compilers in WSL
  • Valgrind installed in WSL

⚠️ Known Limitations

  • Heap memory usage visualization panel is in development.
  • Only tested on Windows 10/11 with WSL Ubuntu 22.04.
  • Valgrind requires Linux/WSL and cannot be run natively on Windows.

📚 Documentation & Setup

See the README for installation instructions and usage examples.


💡 Notes

This version is intended for testing, feedback, and further development. Issue reports are welcome.