Font Size: a A A

Research On Automatic Grading And Standardization Method Of Programming Question With Pointer

Posted on:2008-07-18Degree:MasterType:Thesis
Country:ChinaCandidate:Q P GuoFull Text:PDF
GTID:2178360245997742Subject:Computer Science and Technology
Abstract/Summary:PDF Full Text Request
Automatic grading of programs in programming language examination is a very significant problem worth thorough research. As a key technique in the on-line examination system, it is a technical nodus because of relating to omnifarious theories and knowledge. There are few systems with good practicability and all-round functions at present in the field.The existent automatic grading system based on program understanding and semantic analysis adopted a method based on static analysis of the whole source codes and semantically equivalent transformations. Firstly, student program and template programs are transformed into system dependence graphs. Secondly, semantic-preserving transformations are performed on system dependence graphs to eliminate program variations. Finally, the score is gotten by matching the standardized system dependence graph of student program with those of template programs and computing their similarity according to the grading strategies.Existent automatic grading model can't be applied to programs with pointers. In this dissertation, a suitable method to standardize and grade the programs with pointers based on the existent model is proposed. The original model is improved in the following aspects: reinforcing the morphology and syntax analysis for source codes to recognize the expressions related with pointer; improving original system dependence graph by unifying the abstract syntax tree of pointers and elements in arrays; improving the original algorithm for data-flow analysis to search the data dependence induced by pointers'alias; proposing an advanced representations of alias information to replace the existing complicated, obscure, and imprecise alias representation approaches; presenting an flow-sensitive and context-sensitive interprocedural method of analyzing pointer alias to escaped from imprecise ones with complicated computation, which deal with a calling node respectively by inline or improved Banning method according to whether it's iterative or not; improving the standardization process by adding new rules to eliminate variations occurred in expressions with pointers, and replacing the pointers that have must alias; improving the matching algorithm and so on.The improved model has been integrated into the"on-line examination system for the programming language C". Test results show that the improved model is rational, and the system is practical.
Keywords/Search Tags:system dependence graph, standardization for pointers, automatic grading
PDF Full Text Request
Related items