Skip to main content

2009 | OriginalPaper | Buchkapitel

TSW: A Web-Based Automatic Correction System for C Programming Exercises

verfasst von : Pietro Longo, Andrea Sterbini, Marco Temperini

Erschienen in: Visioning and Engineering the Knowledge Society. A Web Science Perspective

Verlag: Springer Berlin Heidelberg

Aktivieren Sie unsere intelligente Suche, um passende Fachinhalte oder Patente zu finden.

search-config
loading …

We present the TSW system (TestSystem Web), a web-based environment currently developed at the Rome 1 University, for the delivery of C programming exercises and their automatic correction.

The core of the correction system automatically tests the student’s programs by applying unit-tests and/or by comparing the behaviour of the student’s code to a reference implementation. Care is taken to avoid error propagation from a function to other functionally depending procedures by redirecting the failing calls to the corresponding reference implementation. The system “instruments” the student’s code by using a code analyser and rewriter to handle instruction tracing and function calls redirection. The rewriter can be easily extended to develop other analysis instruments. As an example, we have developed: a

code coverage tool

that reports how much of the student’s code has been visited during the test, a

cyclomatic complexity evaluator

to compare the number of different logic paths in the code, a

tracker for stack depth usage

to check for proper implementation of recursive functions, a

function/loop execution counter

for the evaluation of the execution complexity. Additional care is taken to capture disruptive errors that would abort the program: “segmentation faults” caused by wrong pointer dereferentiation, and time-out caused by run-away processes.

With these tools, the teacher can write rich unit tests that can either compare the behaviour of the function under analysis with a reference implementation (e.g. by generating random input and comparing the results), or by submitting well-crafted special inputs to elicit special cases or by comparing the complexity and/or stack depth counters. Each test applied will then explain to the student what was the problem found.

TSW is the core component of a future larger social knowledge project, in which students will cooperatively/competitively participate to the definition and test of each-other’s programs, sharing ideas and learning from each other.

Sie haben noch keine Lizenz? Dann Informieren Sie sich jetzt über unsere Produkte:

Springer Professional "Wirtschaft+Technik"

Online-Abonnement

Mit Springer Professional "Wirtschaft+Technik" erhalten Sie Zugriff auf:

  • über 102.000 Bücher
  • über 537 Zeitschriften

aus folgenden Fachgebieten:

  • Automobil + Motoren
  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Elektrotechnik + Elektronik
  • Energie + Nachhaltigkeit
  • Finance + Banking
  • Management + Führung
  • Marketing + Vertrieb
  • Maschinenbau + Werkstoffe
  • Versicherung + Risiko

Jetzt Wissensvorsprung sichern!

Springer Professional "Technik"

Online-Abonnement

Mit Springer Professional "Technik" erhalten Sie Zugriff auf:

  • über 67.000 Bücher
  • über 390 Zeitschriften

aus folgenden Fachgebieten:

  • Automobil + Motoren
  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Elektrotechnik + Elektronik
  • Energie + Nachhaltigkeit
  • Maschinenbau + Werkstoffe




 

Jetzt Wissensvorsprung sichern!

Springer Professional "Wirtschaft"

Online-Abonnement

Mit Springer Professional "Wirtschaft" erhalten Sie Zugriff auf:

  • über 67.000 Bücher
  • über 340 Zeitschriften

aus folgenden Fachgebieten:

  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Finance + Banking
  • Management + Führung
  • Marketing + Vertrieb
  • Versicherung + Risiko




Jetzt Wissensvorsprung sichern!

Metadaten
Titel
TSW: A Web-Based Automatic Correction System for C Programming Exercises
verfasst von
Pietro Longo
Andrea Sterbini
Marco Temperini
Copyright-Jahr
2009
Verlag
Springer Berlin Heidelberg
DOI
https://doi.org/10.1007/978-3-642-04754-1_2