Software repository mining with Marmoset

作者: Jaime Spacco , Jaymie Strecker , David Hovemeyer , William Pugh

DOI: 10.1145/1082983.1083149

关键词: Database schemaSoftware repositoryStatic analysisAutomated programmingMarmosetSnapshot (computer storage)Software evolutionCode evolutionSoftware engineeringComputer science

摘要: Most computer science educators hold strong opinions about the "right" approach to teaching introductory level programming. Unfortunately, we have comparatively little hard evidence effectiveness of these various approaches because generally lack infrastructure obtain sufficiently detailed data novices' programming habits.To gain insight into students' habits, developed Marmoset, a project snapshot and submission system. Like existing systems, Marmoset allows students submit versions their projects central server, which automatically tests them records results. Unlike also collects finegrained code snapshots as work on projects: each time student saves her work, it is committed CVS repository.We believe collected by will be rich source learning program software evolution in general. To validate our tool, performed an experiment found statistically significant correlation between warnings reported static analysis tool failed unit tests.To make fine-grained more useful, present schema variety useful queries easily formulated answered.

参考文章(8)
Edward L. Jones, Grading student programs - a software testing approach Journal of Computing Sciences in Colleges. ,vol. 16, pp. 185- 192 ,(2001) , 10.5555/369279.369354
David Jackson, Michelle Usher, Grading student programs using ASSYST technical symposium on computer science education. ,vol. 29, pp. 335- 339 ,(1997) , 10.1145/268084.268210
David Hovemeyer, William Pugh, Finding bugs is easy conference on object-oriented programming systems, languages, and applications. pp. 132- 136 ,(2004) , 10.1145/1028664.1028717
Stephen H. Edwards, Rethinking computer science education from a test-first perspective conference on object-oriented programming systems, languages, and applications. pp. 148- 155 ,(2003) , 10.1145/949344.949390
Ying Liu, CVS historical information to understand how students develop software "International Workshop on Mining Software Repositories (MSR 2004)" W17S Workshop - 26th International Conference on Software Engineering. pp. 32- 36 ,(2004) , 10.1049/IC:20040472
Kevin A Schneider, Carl Gutwin, Reagan Penner, David Paquette, Mining a software developer's local interaction history "International Workshop on Mining Software Repositories (MSR 2004)" W17S Workshop - 26th International Conference on Software Engineering. pp. 106- 110 ,(2004) , 10.1049/IC:20040486
Kenneth A. Reek, A software infrastructure to support introductory computer science courses technical symposium on computer science education. ,vol. 28, pp. 125- 129 ,(1996) , 10.1145/236452.236524
Jaime Spacco, David Hovemeyer, William Pugh, An Eclipse-based course project snapshot and submission system Proceedings of the 2004 OOPSLA workshop on eclipse technology eXchange - eclipse '04. pp. 52- 56 ,(2004) , 10.1145/1066129.1066140