I taught such a course, based on MATLAB. I used Blackboard for managing homework. For each assignment, I created an assignment on Blackboard with a due date; the description was attached as a PDF file. Students uploaded their code on Blackboard, usually with comments about what they observed when running it (Blackboard allows such comments to be entered along with uploaded file). After the due date, I would open "Needs Grading" page of the Grade Center, and go at it...
Grading wasn't too difficult, and I usually left comments of my own (although I have no idea whether students ever read them). For recognized file formats, clicking the file uploaded by the student, would get it to open in the relevant program (with one confirmation dialog from the browser). Unfortunately -- and this was the main irritation for me -- this is not so for MATLAB, which requires filename to match the main function name. So, if you get a bunch of files called
simpson.m, and open each "on the spot" (really in a temp directory), the browser/OS will likely rename them as
simpson (1).m, etc, which won't please MATLAB. So I had to save each MATLAB file to a directory, confirming overwrite of the previous submission; more clicks but not too bad.
In any case, you can't have the part "Student's codes can be tested on the spot" in the sense of running the code within the management system. It's very unlikely that someone will buy required licenses from MathWorks, Wolfram, Maplesoft... to be able to execute their code in this way.
How Blackboard compares to your a)-b)-c)-d):
a) It opens to the class roll.
There is a class roster, which you can get to after a few clicks.
b) Upon clicking on a student's name his/her portfolio opens. This directory has all the homework, student's work, and instructor's comments,grades.
Not really, but you can get all of this after sufficiently many clicks.
c) I can run the code student has written and see the output on say MATLAB's output window.
You can download and run the code on your own computer, assuming you have the software installed.
d) The student has access to his/her own page or to a common project page.
Not really. They see a reduced version of the same interface you see, with added options for submitting assignments and checking grades.
I haven't tried all CMS in existence, but I strongly suspect that the system you are dreaming of does not yet exist.