Mittuniversitetet

miun.sePublikationer
Ändra sökning
RefereraExporteraLänk till posten
Permanent länk

Direktlänk
Referera
Referensformat
  • apa
  • ieee
  • modern-language-association-8th-edition
  • vancouver
  • Annat format
Fler format
Språk
  • de-DE
  • en-GB
  • en-US
  • fi-FI
  • nn-NO
  • nn-NB
  • sv-SE
  • Annat 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 (Engelska)Självständigt arbete på avancerad nivå (masterexamen), 20 poäng / 30 hpStudentuppsats (Examensarbete)
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.

Ort, förlag, år, upplaga, sidor
2015. , s. 70
Nyckelord [en]
Artificial Intelligence, Case-Based Reasoning, CBR, Vocabulary, Classification, Similarity measure, Distance measure, Java, C++
Nationell ämneskategori
Datorsystem
Identifikatorer
URN: urn:nbn:se:miun:diva-25519OAI: oai:DiVA.org:miun-25519DiVA, id: diva2:841529
Ämne / kurs
Datateknik DT1
Utbildningsprogram
Civilingenjör i datateknik TDTEA 300 hp
Examinatorer
Tillgänglig från: 2015-07-14 Skapad: 2015-07-13 Senast uppdaterad: 2025-09-25Bibliografiskt granskad

Open Access i DiVA

fulltext(753 kB)265 nedladdningar
Filinformation
Filnamn FULLTEXT01.pdfFilstorlek 753 kBChecksumma SHA-512
a97fb5dc6ad579768b1d4f7637b754aaab7899f4a193b3ef08d2e38e9f7124ef75c91ee1964e4e268bd073aee8c6acc51bff37bbb3e16f7cf61c641f2f1dfd9a
Typ fulltextMimetyp application/pdf

Sök vidare i DiVA

Av författaren/redaktören
Nordström, Markus
Av organisationen
Avdelningen för informations- och kommunikationssystem
Datorsystem

Sök vidare utanför DiVA

GoogleGoogle Scholar
Totalt: 266 nedladdningar
Antalet nedladdningar är summan av nedladdningar för alla fulltexter. Det kan inkludera t.ex tidigare versioner som nu inte längre är tillgängliga.

urn-nbn

Altmetricpoäng

urn-nbn
Totalt: 739 träffar
RefereraExporteraLänk till posten
Permanent länk

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