It is challenging to test applications and functions for which the correct output for arbitrary input cannot be known in advance, e.g. some computational science or machine learni...
When dealing with dynamic, untrusted content, such as on the Web, software behavior must be sandboxed, typically through use of a language like JavaScript. However, even for such ...
Intelligent tutoring systems help students acquire cognitive skills by tracing students’ knowledge and providing relevant feedback. However, feedback that focuses only on the cog...
Ido Roll, Ryan Shaun Baker, Vincent Aleven, Bruce ...
KLAIM is an experimental language designed for modeling and programming distributed systems composed of mobile components where distribution awareness and dynamic system architect...
—Software projects often rely on third-party libraries made accessible through Application Programming Interfaces (APIs). We have observed many cases where APIs are used in ways ...