Mid Sweden University

miun.sePublikasjoner
Endre søk
RefereraExporteraLink to record
Permanent link

Direct link
Referera
Referensformat
  • apa
  • ieee
  • modern-language-association-8th-edition
  • vancouver
  • Annet format
Fler format
Språk
  • de-DE
  • en-GB
  • en-US
  • fi-FI
  • nn-NO
  • nn-NB
  • sv-SE
  • Annet språk
Fler språk
Utmatningsformat
  • html
  • text
  • asciidoc
  • rtf
Automatic Source Code Classification: Classifying Source Code for a Case-Based Reasoning System
Mittuniversitetet, Fakulteten för naturvetenskap, teknik och medier, Avdelningen för informations- och kommunikationssystem.
2015 (engelsk)Independent thesis Advanced level (degree of Master (Two Years)), 20 poäng / 30 hpOppgave
Abstract [en]

This work has investigated the possibility of classifying Java source code into cases for a case-based reasoning system. A Case-Based Reasoning system is a problem solving method in Artificial Intelligence that uses knowledge of previously solved problems to solve new problems. A case in case-based reasoning consists of two parts: the problem part and solution part. The problem part describes a problem that needs to be solved and the solution part describes how this problem was solved. In this work, the problem is described as a Java source file using words that describes the content in the source file and the solution is a classification of the source file along with the source code. To classify Java source code, a classification system was developed. It consists of four analyzers: type filter, documentation analyzer, syntactic analyzer and semantic analyzer. The type filter determines if a Java source file contains a class or interface. The documentation analyzer determines the level of documentation in asource file to see the usefulness of a file. The syntactic analyzer extracts statistics from the source code to be used for similarity, and the semantic analyzer extracts semantics from the source code. The finished classification system is formed as a kd-tree, where the leaf nodes contains the classified source files i.e. the cases. Furthermore, a vocabulary was developed to contain the domain knowledge about the Java language. The resulting kd-tree was found to be imbalanced when tested, as the majority of source files analyzed were placed inthe left-most leaf nodes. The conclusion from this was that using documentation as a part of the classification made the tree imbalanced and thus another way has to be found. This is due to the fact that source code is not documented to such an extent that it would be useful for this purpose.

sted, utgiver, år, opplag, sider
2015. , s. 70
Emneord [en]
Artificial Intelligence, Case-Based Reasoning, CBR, Vocabulary, Classification, Similarity measure, Distance measure, Java, C++
HSV kategori
Identifikatorer
URN: urn:nbn:se:miun:diva-25519OAI: oai:DiVA.org:miun-25519DiVA, id: diva2:841529
Fag / kurs
Computer Engineering DT1
Utdanningsprogram
Master of Science in Engineering - Computer Engineering TDTEA 300 higher education credits
Examiner
Tilgjengelig fra: 2015-07-14 Laget: 2015-07-13 Sist oppdatert: 2025-09-25bibliografisk kontrollert

Open Access i DiVA

fulltext(753 kB)265 nedlastinger
Filinformasjon
Fil FULLTEXT01.pdfFilstørrelse 753 kBChecksum SHA-512
a97fb5dc6ad579768b1d4f7637b754aaab7899f4a193b3ef08d2e38e9f7124ef75c91ee1964e4e268bd073aee8c6acc51bff37bbb3e16f7cf61c641f2f1dfd9a
Type fulltextMimetype application/pdf

Søk i DiVA

Av forfatter/redaktør
Nordström, Markus
Av organisasjonen

Søk utenfor DiVA

GoogleGoogle Scholar
Totalt: 266 nedlastinger
Antall nedlastinger er summen av alle nedlastinger av alle fulltekster. Det kan for eksempel være tidligere versjoner som er ikke lenger tilgjengelige

urn-nbn

Altmetric

urn-nbn
Totalt: 739 treff
RefereraExporteraLink to record
Permanent link

Direct link
Referera
Referensformat
  • apa
  • ieee
  • modern-language-association-8th-edition
  • vancouver
  • Annet format
Fler format
Språk
  • de-DE
  • en-GB
  • en-US
  • fi-FI
  • nn-NO
  • nn-NB
  • sv-SE
  • Annet språk
Fler språk
Utmatningsformat
  • html
  • text
  • asciidoc
  • rtf