Skip to content

[Bugfix:InstructorUI] Fixing histogram filters#12425

Merged
bmcutler merged 10 commits intomainfrom
fix_broken_histograms
Feb 26, 2026
Merged

[Bugfix:InstructorUI] Fixing histogram filters#12425
bmcutler merged 10 commits intomainfrom
fix_broken_histograms

Conversation

@dagemcn
Copy link
Contributor

@dagemcn dagemcn commented Feb 13, 2026

Why is this Change Important & Necessary?

Closes #12211

This fixes the issue where changing the null section and withdrawn filters will not update the gradeable histograms.

What is the New Behavior?

Before, the null section and withdrawn filters would not change anything when enabled/disabled. Now, they should affect the histograms and will include the correct information when enabled.

What steps should a reviewer take to reproduce or test the bug or new feature?

  1. Log in as instructor.
  2. Go to any gradeable with grading completed/partially completed.
  3. Click Statistics & Charts
  4. Verify that the histograms (manual, autograding, and overall) update accordingly with the filters.

Automated Testing & Documentation

Manual testing: Tested on Linux with Opera to verify the accuracy of the new histogram data generation.
No new automated testing has been added, issue will be created to add more testing for the histograms.

Other information

This is not a breaking change.
There are no known security concerns with this change.

Modified files include:
site/app/controllers/grading/ElectronicGraderController.php

Note: Many of the whitespace changes in the file were to fix issues the php linter was complaining about.

@codecov
Copy link

codecov bot commented Feb 13, 2026

Codecov Report

❌ Patch coverage is 0% with 112 lines in your changes missing coverage. Please review.
✅ Project coverage is 21.72%. Comparing base (2879a09) to head (42a792a).
⚠️ Report is 12 commits behind head on main.

Additional details and impacted files

Impacted file tree graph

@@             Coverage Diff              @@
##               main   #12425      +/-   ##
============================================
- Coverage     21.73%   21.72%   -0.02%     
- Complexity     9623     9628       +5     
============================================
  Files           268      268              
  Lines         36167    36194      +27     
  Branches        486      486              
============================================
  Hits           7862     7862              
- Misses        27823    27850      +27     
  Partials        482      482              
Flag Coverage Δ
autograder 21.39% <ø> (ø)
js 2.04% <ø> (ø)
migrator 100.00% <ø> (ø)
php 20.75% <0.00%> (-0.02%) ⬇️
python_submitty_utils 80.08% <ø> (ø)
submitty_daemon_jobs 90.72% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@dagemcn dagemcn changed the title [Bugfix:InstructorUI,TAGrading] Fixing histogram filters [Bugfix:InstructorUI] Fixing histogram filters Feb 13, 2026
Copy link
Contributor

@John-Roy123 John-Roy123 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I was able to replicate the issue on main - the histogram would not update if I changed any of the filters. With this change, it now works correctly and updates according to the filters the user selects.

@github-project-automation github-project-automation bot moved this from Seeking Reviewer to Awaiting Maintainer Review in Submitty Development Feb 13, 2026
Copy link
Contributor

@Rkoester47 Rkoester47 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I tested the changes from this branch on the gradeable "Stats of Autograde and TA Homework (C System Calls)" and found what I believe to be an issue. When NULL is not included, I the autograding histrogram counts 34 students with a score of 2/10, and 15 students with a score of 10/10.

In the NULL section on the gradeable page, I have 15 null students with 2/10 and 11 null students with 10/10. This should bring the autograding histrogram count up to 49 and 26 respectively. However, I only have 48 and 25 on the autograding histrogram when I click to include the null section.

Can you confirm on your end to see if you are experiencing the same off by one count?

@github-project-automation github-project-automation bot moved this from Awaiting Maintainer Review to Work in Progress in Submitty Development Feb 17, 2026
@dagemcn
Copy link
Contributor Author

dagemcn commented Feb 18, 2026

I tested the changes from this branch on the gradeable "Stats of Autograde and TA Homework (C System Calls)" and found what I believe to be an issue. When NULL is not included, I the autograding histrogram counts 34 students with a score of 2/10, and 15 students with a score of 10/10.

In the NULL section on the gradeable page, I have 15 null students with 2/10 and 11 null students with 10/10. This should bring the autograding histrogram count up to 49 and 26 respectively. However, I only have 48 and 25 on the autograding histrogram when I click to include the null section.

Can you confirm on your end to see if you are experiencing the same off by one count?

While my counts were a bit different you are correct. This was due to the logic for detecting bad submissions being incorrect. I have pushed a fix for this. When testing, be aware that some bad submissions also have version conflict and as such they will not be included in the histogram (3 in the C System Calls gradeable).

Copy link
Contributor

@Rkoester47 Rkoester47 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

After your most recent changes, the count for null students being included/excluded from the histogram looks correct to me.

@github-project-automation github-project-automation bot moved this from In Review to Awaiting Maintainer Review in Submitty Development Feb 19, 2026
@bmcutler bmcutler merged commit 10e0931 into main Feb 26, 2026
47 of 48 checks passed
@bmcutler bmcutler deleted the fix_broken_histograms branch February 26, 2026 02:37
GarvitKhandelwal31 pushed a commit to GarvitKhandelwal31/Submitty that referenced this pull request Mar 5, 2026
### Why is this Change Important & Necessary?
Closes Submitty#12211 

This fixes the issue where changing the null section and withdrawn
filters will not update the gradeable histograms.

### What is the New Behavior?
Before, the null section and withdrawn filters would not change anything
when enabled/disabled. Now, they should affect the histograms and will
include the correct information when enabled.

### What steps should a reviewer take to reproduce or test the bug or
new feature?
1. Log in as instructor.
2. Go to any gradeable with grading completed/partially completed. 
3. Click Statistics & Charts
5. Verify that the histograms (manual, autograding, and overall) update
accordingly with the filters.

### Automated Testing & Documentation
Manual testing: Tested on Linux with Opera to verify the accuracy of the
new histogram data generation.
No new automated testing has been added, issue will be created to add
more testing for the histograms.

### Other information
This is not a breaking change. 
There are no known security concerns with this change.

Modified files include:
site/app/controllers/grading/ElectronicGraderController.php

Note: Many of the whitespace changes in the file were to fix issues the
php linter was complaining about.

---------

Co-authored-by: Rkoester47 <koestr@rpi.edu>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Archived in project

Development

Successfully merging this pull request may close these issues.

Update histograms based on include/exclude null section/withdrawn filters

4 participants