Show simple item record

dc.contributor.advisorBetin Can, Aysu
dc.contributor.authorBilge, İbrahim
dc.date.accessioned2020-12-10T09:12:31Z
dc.date.available2020-12-10T09:12:31Z
dc.date.submitted2016
dc.date.issued2018-08-06
dc.identifier.urihttps://acikbilim.yok.gov.tr/handle/20.500.12812/225098
dc.description.abstractBiz bu tezde, JavaScript – AngularJS uygulamalarının view ve modelbağlantılarında oluşan tutarsızlıkları etkin bir şekilde tespit edebilen biryaklaşım sunmaktayız. JavaScript, günümüzde web uygulaması geliştirmealanında kullanılan en yaygın betimleme dillerinden biridir. Oldukçadinamik olan yapısı sayesinde esnek ve etkin kod yazma imkânı sağlar.Buna ek olarak birçok yapısal çatı geliştirilmiştir. Bu çatıların en popülerolanlarından biri MVC (Model-View-Controller) mimarisini kullananAngularJS'dir. JavaScript'in dinamik yapısına, AngularJS'in soyut vekatmanlı mimarisi de eklenince kodlama yapmak oldukça zorlayıcı bir halegelebilir. Öyle ki geliştirilen yazılımı okunamaz, bakım yapılamaz veözellikle güvenilemez bir hale getirebilir. Ayrıca günümüzde uygulamalarıntutarlılığını ve doğrulamasını zorlaştıran kişiselleştirilmiş bileşengeliştirebilme imkanı da bu JavaScript çatılarının en büyük özelliklerindenbiri olarak sayılmaktadır. Literatürdeki diğer çalışmalardan farklı olarakbizim bu çalışmadaki amacımız view ve model bağlantılarında oluşantutarsızlıkları etkin bir şekilde tespit edebilen bir yaklaşım sunmaktır. Buamaçla HAKI adını verdiğimiz aracı geliştirdik. Aracımızı 2 farklıuygulama üzerinde test ettik; bir büyük çaplı gerçek bir uygulama ve bir dedaha küçük kapsamlı, içerisine hatalar yerleştirilmiş bir uygulama. Aracımızilk uygulama için 8 tanesi önemli olmak üzere 55 hata ve hataya nedenolabileceğini düşündüğümüz 35 tane de uyarı tespit etmiş ve raporlamıştır.Ayrıca bu deneyler sırasında HAKI sebebiyle oluşan performans kaybınıngöz ardı edilebilir derecede minimum olduğu görülmüştür.
dc.description.abstractIn this thesis, we propose an efficient approach for locating inconsistenciesin view-model bindings of JavaScript AngularJS web applications.JavaScript is one of the most common scripting languages used fordeveloping web applications. It can be used to create flexible, efficient codethanks to its highly dynamic nature. In addition, many structuralframeworks have been developed for building even more extensible andmore dynamic web applications. One of the most popular of theseframeworks is AngularJS which uses the MVC (Model-View-Controller)pattern. The dynamism of JavaScript including abstraction and layering ofAngularJS can make coding very challenging by making it open formistakes and vulnerable to inconsistencies that create unreadable, notmaintainable, and particularly, unreliable code. In addition, custom webcomponents remain a challenge for verification and consistency of theapplications whereas these components are considered the biggest feature ofJavaScript frameworks nowadays. Differing from the existing studies inliterature, our aim in this study is to propose an effective and compactapproach to locate inconsistencies in view-model bindings including typerelated errors and errors about custom web components. We introduce a toolcalled HAKI that executes runtime verification process on JavaScript -AngularJS applications and locates errors and warnings by using dynamicanalysis. We evaluated our tool using two sets of experiments, one largescale real application and one smaller application with injected faults. Ourtool located 55 errors in real application with 8 of them are evaluated asmajor errors; it also reported 35 warnings that can possibly cause errors. Inaddition, the runtime verification overhead is minimal.en_US
dc.languageEnglish
dc.language.isoen
dc.rightsinfo:eu-repo/semantics/openAccess
dc.rightsAttribution 4.0 United Statestr_TR
dc.rights.urihttps://creativecommons.org/licenses/by/4.0/
dc.subjectBilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontroltr_TR
dc.subjectComputer Engineering and Computer Science and Controlen_US
dc.titleHaki: A runtime verification tool for javascript MVC web applications
dc.title.alternativeHakı: Javascript MVC web uygulamaları için çalışma zamanı doğrulama aracı
dc.typemasterThesis
dc.date.updated2018-08-06
dc.contributor.departmentBilişim Sistemleri Anabilim Dalı
dc.identifier.yokid10135708
dc.publisher.instituteEnformatik Enstitüsü
dc.publisher.universityORTA DOĞU TEKNİK ÜNİVERSİTESİ
dc.identifier.thesisid459333
dc.description.pages57
dc.publisher.disciplineDiğer


Files in this item

Thumbnail

This item appears in the following Collection(s)

Show simple item record

info:eu-repo/semantics/openAccess
Except where otherwise noted, this item's license is described as info:eu-repo/semantics/openAccess