Identifying Indicators of Maturity in Software Developed by Novice Programmers
Software maintainability is an important but often neglected element of programming in the computer science education space. Researchers sought to determine if there was a dependence in student code submissions between measurable code characteristics and the level of functional conformance in the same submission. Student code submissions from a single computer science course were gathered, code characteristics were gathered for each submission and an auto-generated measure of functional conformance was assigned to each submission. A dependency was discovered between certain code characteristics and the level of adherence to functional specification. This dependency was used to design the "maturity index" metric which uses a selection of code characteristics to estimate code maturity via static analysis. This "maturity index" can be used by students in order for them to improve their coding techniques and the conformance of their code.