Buffy is provably correct (no risk needed!) that it is impossible to do it with automated code analysis, as this is an attempt to figure out when a program will finish (i.e. the halting problem.)
You can get a very good guess, however, by using a few (very) differently sized input data sets, run the program on each one multiple times, and observe the ...
I'll accept a bit of risk here, but claim that this isn't possible in general unless the student writes very naive code. But in the courses for which you want to use it, that doesn't seem likely.
Imagine a linear algorithm implemented as two nested loops. The outer loop depends on the "n" that you are interested in, say the length of an array. The inner ...
That seem an important question. Here is my input.
'm using repl.it for a month, created ~60 assignments in 10 classrooms (java,c#).
(Both basics, and also recursion, lined-lists and Queues. )
The idea of web-based-ide & auto-checking & status-report-to-teacher is fantastic !
It gets students very fast to code, and see results, also teacher ...
The diff is between the most recent commit and the start of the branch. It's not just the diff of the last commit, it's every commit (stacked on top of each other) since the branch's origins.
If that weren't the case, it'd be nigh impossible to provide meaningful feedback to a code review for a branch's pull request.