Skip to main content

Establishing Equivalence of Expressions: An Automated Evaluator Designer’s Perspective

  • Conference paper
  • First Online:
  • 1777 Accesses

Part of the book series: Lecture Notes in Computer Science ((LNAI,volume 9468))

Abstract

Automated assessment of students’ programs has become essential in the institutions where the intake of students is large to ensure fast and consistent evaluation. An automated evaluator compares a program written by a student with a model program supplied by the instructor and tries to evaluate the student’s performance. In course of checking similarity between the two programs, the evaluator may sometimes have to determine whether some expression written in the student program assumes the same value as that of an equivalent expression in the model. Thus, determining equivalence between pairs of expressions is at the core of designing automated evaluators. This paper discusses different methods for determining equivalence between expressions involving various datatypes. Specifically, it proposes a novel technique to determine equivalence between expressions involving floating point and transcendental numbers, which have not been addressed in earlier literature to the best of our knowledge.

This is a preview of subscription content, log in via an institution.

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

References

  1. CVC4 - the smt solver. http://cvc4.cs.nyu.edu/web/

  2. Ala-Mutka, K.M.: A survey of automated assessment approaches for programming assignments. Comput. Sci. Edu. 15(2), 83–102 (2005). http://www.tandfonline.com/doi/abs/10.1080/08993400500150747

    Article  Google Scholar 

  3. Banerjee, K., Karfa, C., Sarkar, D., Mandal, C.: A value propagation based equivalence checking method for verification of code motion techniques. In: ISED, pp. 67–71 (2012)

    Google Scholar 

  4. Banerjee, K., Karfa, C., Sarkar, D., Mandal, C.: Verification of code motion techniques using value propagation. IEEE Trans. CAD ICS 33(8), 1180–1193 (2014)

    Article  Google Scholar 

  5. Banerjee, K., Mandal, C., Sarkar, D.: Extending the scope of translation validation by augmenting path based equivalence checkers with SMT solvers. In: 18th International Symposium on VLSI Design and Test, pp. 1–6, July 2014

    Google Scholar 

  6. Banerjee, K., Sarkar, D., Mandal, C.: Extending the FSMD framework for validating code motions of array-handling programs. IEEE Trans. CAD ICS 33(12), 2015–2019 (2014)

    Article  Google Scholar 

  7. Gajski, D.D., Dutt, N.D., Wu, A.C., Lin, S.Y.: High-Level Synthesis: Introduction to Chip and System Design. Kluwer Academic, Boston (1992)

    Book  Google Scholar 

  8. Ihantola, P., Ahoniemi, T., Karavirta, V., Seppälä, O.: Review of recent systems for automatic assessment of programming assignments. In: Koli Calling, pp. 86–93 (2010)

    Google Scholar 

  9. Kahan, W.: Pracniques: further remarks on reducing truncation errors. Commun. ACM 8(1), 40 (1965)

    Article  Google Scholar 

  10. Karfa, C., Sarkar, D., Mandal, C., Kumar, P.: An equivalence-checking method for scheduling verification in high-level synthesis. IEEE Trans. CAD ICS 27, 556–569 (2008)

    Article  Google Scholar 

  11. Karfa, C., Mandal, C., Sarkar, D.: Formal verification of code motion techniques using data-flow-driven equivalence checking. ACM Trans. Des. Autom. Electron. Syst. 17(3), 30 (2012)

    Article  Google Scholar 

  12. Karfa, C., Mandal, C., Sarkar, D., Pentakota, S.R., Reade, C.: A formal verification method of scheduling in high-level synthesis. In: ISQED, pp. 71–78 (2006)

    Google Scholar 

  13. King, J.C.: A program verifier. Ph.D. thesis, Pittsburgh, PA, USA (1970)

    Google Scholar 

  14. Lopes, N.P., Monteiro, J.: Automatic equivalence checking of UF+IA programs. In: Bartocci, E., Ramakrishnan, C.R. (eds.) SPIN 2013. LNCS, vol. 7976, pp. 282–300. Springer, Heidelberg (2013)

    Chapter  Google Scholar 

  15. Manna, Z.: Mathematical Theory of Computation. McGraw-Hill Kogakusha, Tokyo (1974)

    MATH  Google Scholar 

  16. Sarkar, D., De Sarkar, S.: A theorem prover for verifying iterative programs over integers. IEEE Trans Softw. Eng. 15(12), 1550–1566 (1989)

    Article  Google Scholar 

  17. Sharma, K.K., Banerjee, K., Mandal, C.: Determining equivalence of expressions: an automated evaluator’s perspective. In: 2015 IEEE International Conference on Technology for Education (T4E) (2015, accepted)

    Google Scholar 

  18. Sharma, K.K., Banerjee, K., Mandal, C., Vikas, I.: A benchmark programming assignment suite for quantitative analysis of student performance in early programming courses. In: 2015 IEEE International Conference on MOOC, Innovation and Technology in Education (MITE) (2015, accepted)

    Google Scholar 

  19. Sharma, K.K., Banerjee, K., Vikas, I., Mandal, C.: Automated checking of the violation of precedence of conditions in else-if constructs in students’ programs. In: 2014 IEEE International Conference on MOOC, Innovation and Technology in Education (MITE), pp. 201–204 (2014)

    Google Scholar 

  20. Sharma, K.K., Banerjee, K., Mandal, C.: A scheme for automated evaluation of programming assignments using FSMD based equivalence checking. In: I-CARE, pp. 10:1–10:4 (2014)

    Google Scholar 

  21. Sipser, M.: Introduction to the Theory of Computation. PWS Publishing Company, Boston (1997)

    MATH  Google Scholar 

  22. Wang, T., Su, X., Ma, P., Wang, Y., Wang, K.: Ability-training-oriented automated assessment in introductory programming course. Comput. Edu. 56(1), 220–226 (2011)

    Article  Google Scholar 

  23. Wang, T., Su, X., Wang, Y., Ma, P.: Semantic similarity-based grading of student programs. Inf. Softw. Technol. 49(2), 99–107 (2007). http://www.sciencedirect.com/science/article/pii/S0950584906000371

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to K. K. Sharma .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2015 Springer International Publishing Switzerland

About this paper

Cite this paper

Sharma, K.K., Banerjee, K., Mandal, C. (2015). Establishing Equivalence of Expressions: An Automated Evaluator Designer’s Perspective. In: Prasath, R., Vuppala, A., Kathirvalavakumar, T. (eds) Mining Intelligence and Knowledge Exploration. MIKE 2015. Lecture Notes in Computer Science(), vol 9468. Springer, Cham. https://doi.org/10.1007/978-3-319-26832-3_39

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-26832-3_39

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-26831-6

  • Online ISBN: 978-3-319-26832-3

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics