• Corpus ID: 232232935

Anomaly Detection in Scratch Assignments

  title={Anomaly Detection in Scratch Assignments},
  author={Nina Korber},
For teachers, automated tool support for debugging and assessing their students’ programming assignments is a great help in their everyday business. For block-based programming languages which are commonly used to introduce younger learners to programming, testing frameworks and other software analysis tools exist, but require manual work such as writing test suites or formal specifications. However, most of the teachers using languages like SCRATCH are not trained for or experienced in this… 

Figures from this paper



Finding Anomalies in Scratch Assignments

This paper uses anomaly detection to automatically find deviations of Scratch code in a classroom setting, where anomalies can represent erroneous code, alternative solutions, or distinguished work.

Testing scratch programs automatically

It is shown that automated and property-based testing can accurately reproduce and replace the manually and laboriously produced grading efforts of a teacher, and opens up new possibilities to support learners of programming in their struggles.

Verified from Scratch: Program Analysis for Learners' Programs

Evaluation on 279 programs written by children suggests that Bastet offers a practical solution for analysis of Scratch programs, thus enabling applications such as automated hint generation, automated evaluation of learner progress, or automated grading.

PR-Miner: automatically extracting implicit programming rules and detecting violations in large software code

This paper proposes a general method called PR-Miner that uses a data mining technique called frequent itemset mining to efficiently extract implicit programming rules from large software code written in an industrial programming language such as C, requiring little effort from programmers and no prior knowledge of the software.

DynaMine: finding common error patterns by mining software revision histories

The combination of revision history mining and dynamic analysis techniques leveraged in DynaMine proves effective for both discovering new application-specific patterns and for finding errors when applied to very large applications with many man-years of development and debugging effort behind them.

Common Bugs in Scratch Programs

A collection of common code patterns that typically hint at bugs in SCRATCH programs, and the LitterBox tool which can automatically detect them, which empirically evaluates how frequently these patterns occur, and how severe their consequences usually are.

Detecting object usage anomalies

The JADET prototype has detected yet undiscovered defects and code smells in five popular open-source programs, including two new defects in AspectJ.

Graph-based mining of multiple object usage patterns

GrouMiner approach includes a graph-based representation for multiple object usages, a pattern mining algorithm, and an anomaly detection technique that are efficient, accurate, and resilient to software changes.

Mining temporal specifications from object usage

A caller must satisfy the callee’s precondition—that is, reach a state in which the callee may be called. Preconditions describe the state that needs to be reached, but not how to reach it. We

The Scratch Programming Language and Environment

How the Scratch programming language and environment support self-directed learning through tinkering and collaboration with peers is explored.