14
views
0
recommends
+1 Recommend
0 collections
    0
    shares
      • Record: found
      • Abstract: found
      • Article: found
      Is Open Access

      Automated Clustering and Program Repair for Introductory Programming Assignments

      Preprint
      , ,

      Read this article at

      Bookmark
          There is no author summary for this article yet. Authors can add summaries to their articles on ScienceOpen to make them more accessible to a non-specialist audience.

          Abstract

          Providing feedback on programming assignments is a tedious task for the instructor, and even impossible in large MOOCs with thousands of students. In this paper, we present a novel technique for automatic feedback generation: (1) For a given programming assignment, we automatically cluster the correct student attempts using a dynamic program analysis. From each cluster we select one student attempt as a specification. (2) Given an incorrect student attempt we run a repair procedure against all specifications, and automatically generate the minimal repair based on one of them. We evaluated the approach on 56,807 student attempts over 18 problems from an undergraduate programming course and a MOOC course. In our evaluation we first automatically clustered the correct student attempts and generated specifications, and then used these specifications to repair the incorrect student attempts without any human intervention, finding repairs for 90% of the incorrect attempts.

          Related collections

          Most cited references22

          • Record: found
          • Abstract: not found
          • Article: not found

          Simple Fast Algorithms for the Editing Distance between Trees and Related Problems

            Bookmark
            • Record: found
            • Abstract: not found
            • Article: not found

            The Tree-to-Tree Correction Problem

              Bookmark
              • Record: found
              • Abstract: not found
              • Conference Proceedings: not found

              Using Mutation to Automatically Suggest Fixes for Faulty Programs

                Bookmark

                Author and article information

                Journal
                2016-03-10
                2016-03-14
                Article
                1603.03165
                f7b48b59-4241-455a-bcbf-cd7597b6dd26

                http://arxiv.org/licenses/nonexclusive-distrib/1.0/

                History
                Custom metadata
                cs.PL

                Programming languages
                Programming languages

                Comments

                Comment on this article