search query: @instructor Korhonen, Ari / total: 32
reference: 19 / 32
Author: | Taherkhani, Ahmad |
Title: | Recognizing Algorithms Using Roles of Variables, Language Constructs and Software Metrics: A Machine Learning Approach |
Publication type: | Licentiate thesis |
Publication year: | 2010 |
Pages: | 65 + [44] Language: eng |
Department/School: | Informaatio- ja luonnontieteiden tiedekunta |
Main subject: | Ohjelmistotekniikka (T-106) |
Supervisor: | Malmi, Lauri |
Instructor: | Korhonen, Ari |
OEVS: | Electronic archive copy is available via Aalto Thesis Database.
Instructions Reading digital theses in the closed network of the Aalto University Harald Herlin Learning CentreIn the closed network of Learning Centre you can read digital and digitized theses not available in the open network. The Learning Centre contact details and opening hours: https://learningcentre.aalto.fi/en/harald-herlin-learning-centre/ You can read theses on the Learning Centre customer computers, which are available on all floors.
Logging on to the customer computers
Opening a thesis
Reading the thesis
Printing the thesis
|
Location: | P1 Ark Aalto | Archive |
Keywords: | algorithm recognition program comprehension roles of variables static analysis |
Abstract (eng): | Roles of Variables (RoV) are concepts that describe the behaviour and usage of variables in computer programs. RoV have originally been introduced to help novices learn programming Algorithm Recognition (AR) is a subfield of program comprehension, where the problem is to identify algorithms from the source code. AR covers recognizing different algorithms that carry out different computational task, as well as different types of algorithms that perform the same task. The main application of AR is in automatic assessment in students' programs to verify that the program implements the required algorithm. This thesis investigates the applicability and usefulness of RoV in AR. The idea is to analyze different implementations of basic algorithms to see whether RoV appear in those algorithms is such a way that they can be distinguished on this basis. In addition to RoV, other distinctive characteristics that can be used in the recognition process are also identified from the algorithms. These characteristics are related to language constructs and various software metrics. Based on the results of these analyses, a method for AR is introduced and a tool for automatic algorithm recognition is developed. Two experiments on sorting algorithms are carried out to illustrate the feasibility of the AR method. In the first experiment, sorting algorithms are recognized using a manually constructed decision tree. The second experiment uses the C4.5 algorithm to construct the decision tree. The results of the experiments (86\% and 97.1\% correctly recognized algorithms respectively) show the applicability of RoV and the other characteristics in AR problem. Moreover, the performance of the automatically constructed decision tree demonstrates that machine learning techniques are also suitable for AR task. |
ED: | 2011-01-18 |
INSSI record number: 41492
+ add basket
INSSI