Fibonacci heaps and their uses in improved network optimization algorithms
Journal of the ACM (JACM)
Comparison of manual and automated marking of student programs
Information and Software Technology
The TRY system -or- how to avoid testing student programs
SIGCSE '89 Proceedings of the twentieth SIGCSE technical symposium on Computer science education
An empirical study of the reliability of UNIX utilities
Communications of the ACM
The use of program dependence graphs in software engineering
ICSE '92 Proceedings of the 14th international conference on Software engineering
Kassandra: the automatic grading system
ACM SIGCUE Outlook
On criteria for grading student programs
ACM SIGCSE Bulletin
Grading student programs using ASSYST
SIGCSE '97 Proceedings of the twenty-eighth SIGCSE technical symposium on Computer science education
PASS: an automated system for program assessment
Computers & Education
Theoretical Improvements in Algorithmic Efficiency for Network Flow Problems
Journal of the ACM (JACM)
Authoritative sources in a hyperlinked environment
Journal of the ACM (JACM)
Making students read and review code
Proceedings of the 5th annual SIGCSE/SIGCUE ITiCSEconference on Innovation and technology in computer science education
Symbolic execution and program testing
Communications of the ACM
An automatic grading scheme for simple programming exercises
Communications of the ACM
Fully automatic assessment of programming exercises
Proceedings of the 6th annual conference on Innovation and technology in computer science education
POPL '77 Proceedings of the 4th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
OPEN/CÆSAR: An OPen Software Architecture for Verification, Simulation, and Testing
TACAS '98 Proceedings of the 4th International Conference on Tools and Algorithms for Construction and Analysis of Systems
PLDI '03 Proceedings of the ACM SIGPLAN 2003 conference on Programming language design and implementation
Winnowing: local algorithms for document fingerprinting
Proceedings of the 2003 ACM SIGMOD international conference on Management of data
On automated grading of programming assignments in an academic institution
Computers & Education
Rethinking computer science education from a test-first perspective
OOPSLA '03 Companion of the 18th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Proceedings of the 35th SIGCSE technical symposium on Computer science education
Automated assessment of GUI programs using JEWL
Proceedings of the 9th annual SIGCSE conference on Innovation and technology in computer science education
Using testing and JUnit across the curriculum
Proceedings of the 36th SIGCSE technical symposium on Computer science education
DART: directed automated random testing
Proceedings of the 2005 ACM SIGPLAN conference on Programming language design and implementation
CUTE: a concolic unit testing engine for C
Proceedings of the 10th European software engineering conference held jointly with 13th ACM SIGSOFT international symposium on Foundations of software engineering
Automated feedback for "fill in the gap" programming exercises
ACE '05 Proceedings of the 7th Australasian conference on Computing education - Volume 42
Using Static Analysis to Reduce Dynamic Analysis Overhead
Formal Methods in System Design
SAFECode: enforcing alias analysis for weakly typed languages
Proceedings of the 2006 ACM SIGPLAN conference on Programming language design and implementation
Proceedings of the 11th annual SIGCSE conference on Innovation and technology in computer science education
The boss online submission and assessment system
Journal on Educational Resources in Computing (JERIC)
Automatic test-based assessment of programming: A review
Journal on Educational Resources in Computing (JERIC)
Automated assessment and experiences of teaching programming
Journal on Educational Resources in Computing (JERIC)
Semantic similarity-based grading of student programs
Information and Software Technology
Valgrind: a framework for heavyweight dynamic binary instrumentation
Proceedings of the 2007 ACM SIGPLAN conference on Programming language design and implementation
Evaluating static analysis defect warnings on production software
PASTE '07 Proceedings of the 7th ACM SIGPLAN-SIGSOFT workshop on Program analysis for software tools and engineering
Creating and visualizing test data from programming exercises
Informatics in education
A survey of literature on the teaching of introductory programming
Working group reports on ITiCSE on Innovation and technology in computer science education
Performance analysis of GAME: A generic automated marking environment
Computers & Education
25 Years of Model Checking
Empirical investigation towards the effectiveness of Test First programming
Information and Software Technology
A systematic review of search-based testing for non-functional system properties
Information and Software Technology
Marking student programs using graph similarity
Computers & Education
SMT-Based Bounded Model Checking for Embedded ANSI-C Software
ASE '09 Proceedings of the 2009 IEEE/ACM International Conference on Automated Software Engineering
Pex: white box test generation for .NET
TAP'08 Proceedings of the 2nd international conference on Tests and proofs
KLEE: unassisted and automatic generation of high-coverage tests for complex systems programs
OSDI'08 Proceedings of the 8th USENIX conference on Operating systems design and implementation
Ability-training-oriented automated assessment in introductory programming course
Computers & Education
Edutainment'10 Proceedings of the Entertainment for education, and 5th international conference on E-learning and games
Review of recent systems for automatic assessment of programming assignments
Proceedings of the 10th Koli Calling International Conference on Computing Education Research
S2E: a platform for in-vivo multi-path analysis of software systems
Proceedings of the sixteenth international conference on Architectural support for programming languages and operating systems
SAGE: Whitebox Fuzzing for Security Testing
Queue - Networks
Teaching semantics with a proof assistant: no more LSD trip proofs
VMCAI'12 Proceedings of the 13th international conference on Verification, Model Checking, and Abstract Interpretation
Development and evaluation of LAV: an SMT-based error finding platform
VSTTE'12 Proceedings of the 4th international conference on Verified Software: theories, tools, experiments
LLBMC: bounded model checking of C and C++ programs using a compiler IR
VSTTE'12 Proceedings of the 4th international conference on Verified Software: theories, tools, experiments
An Evaluation of Random Testing
IEEE Transactions on Software Engineering
Hi-index | 0.00 |
Context: The number of students enrolled in universities at standard and on-line programming courses is rapidly increasing. This calls for automated evaluation of students assignments. Objective: We aim to develop methods and tools for objective and reliable automated grading that can also provide substantial and comprehensible feedback. Our approach targets introductory programming courses, which have a number of specific features and goals. The benefits are twofold: reducing the workload for teachers, and providing helpful feedback to students in the process of learning. Method: For sophisticated automated evaluation of students' programs, our grading framework combines results of three approaches (i) testing, (ii) software verification, and (iii) control flow graph similarity measurement. We present our tools for software verification and control flow graph similarity measurement, which are publicly available and open source. The tools are based on an intermediate code representation, so they could be applied to a number of programming languages. Results: Empirical evaluation of the proposed grading framework is performed on a corpus of programs written by university students in programming language C within an introductory programming course. Results of the evaluation show that the synergy of proposed approaches improves the quality and precision of automated grading and that automatically generated grades are highly correlated with instructor-assigned grades. Also, the results show that our approach can be trained to adapt to teacher's grading style. Conclusions: In this paper we integrate several techniques for evaluation of student's assignments. The obtained results suggest that the presented tools can find real-world applications in automated grading.