The world is full of programs. More are written every day, and so the corpus of written code is ever-increasing. The entropy of all this code, however, is not increasing as fast as one might expect. Many programs are identical or very similar to others, and this is due to many possible reasons: for example, software engineers reusing code or students solving the same programming assignment. Similar code also occurs naturally when programs are updated---there the old and new versions are close relatives of each other, and this can be exploited. Discovering and exploiting similarity is useful in areas as disparate as program analysis and automated student feedback.Program similarity is not a solved problem, and my work advances the field of p...
When a successful software system is maintained and evolved for an extended period of time, original...
This paper proposes a method to calculate similarities of software without any source code informati...
Learning to write software requires much practice and frequent assessment. Consequently, the use of ...
The world is full of programs. More are written every day, and so the corpus of written code is ever...
An overview of the concept of program similarity is presented. It divides similarity into two types...
Detecting whether computer program code is a student's original work or has been copied from an...
In empirical studies on processes, practices, and techniques of software engineering, automation and...
We propose a detection method for plagiarised source code in programs written by students. The purp...
Software similarity and classification is an emerging topic with wide applications. It is applicable...
We consider the problem of program clone search, i.e. given a target program and a repository of kno...
Code similarity is an important component of program analysis that finds application in many fields ...
In software engineering contexts software may be compared for similarity in order to detect duplicat...
<p>We analysed 2,800 programs in Java and C for which we knew they are functionally similar. We chec...
Porting applications to a new system is a nontrivial job in the HPC field. It is a very time-consumi...
We describe the design and implementation of a program called sim to measure similarity between two ...
When a successful software system is maintained and evolved for an extended period of time, original...
This paper proposes a method to calculate similarities of software without any source code informati...
Learning to write software requires much practice and frequent assessment. Consequently, the use of ...
The world is full of programs. More are written every day, and so the corpus of written code is ever...
An overview of the concept of program similarity is presented. It divides similarity into two types...
Detecting whether computer program code is a student's original work or has been copied from an...
In empirical studies on processes, practices, and techniques of software engineering, automation and...
We propose a detection method for plagiarised source code in programs written by students. The purp...
Software similarity and classification is an emerging topic with wide applications. It is applicable...
We consider the problem of program clone search, i.e. given a target program and a repository of kno...
Code similarity is an important component of program analysis that finds application in many fields ...
In software engineering contexts software may be compared for similarity in order to detect duplicat...
<p>We analysed 2,800 programs in Java and C for which we knew they are functionally similar. We chec...
Porting applications to a new system is a nontrivial job in the HPC field. It is a very time-consumi...
We describe the design and implementation of a program called sim to measure similarity between two ...
When a successful software system is maintained and evolved for an extended period of time, original...
This paper proposes a method to calculate similarities of software without any source code informati...
Learning to write software requires much practice and frequent assessment. Consequently, the use of ...