Extending static analysis with application-specific rules by analyzing runtime execution traces
dc.contributor.advisor | Sözer, Hasan | |
dc.contributor.author | Ersoy, Ersin | |
dc.date.accessioned | 2020-12-06T14:15:35Z | |
dc.date.available | 2020-12-06T14:15:35Z | |
dc.date.submitted | 2016 | |
dc.date.issued | 2018-08-06 | |
dc.identifier.uri | https://acikbilim.yok.gov.tr/handle/20.500.12812/103586 | |
dc.description.abstract | Statik kod analiz araçları genel geçer hata tipleri için uyarı oluşturabilmektedir. İlk değerleri atanmamış olan değişkenlere ilişkin hata uyarıları örnek olarak verilebilir. Uygulamaya özel kuralların ihlalini ise mevcut araçlar algılayamamaktadırlar. Bu araçlar, özelleştirilmiş kontrol kuralları ile genişletilebilir ve bu şekilde uygulamaya özel kuralları kontrol edebilirler. Ancak bu kurallar genellikle açık bir şekilde dokümante edilmiş değillerdir. Üstelik özelleştirilmiş kontrol kuralları manuel olarak hazırlanmaktadır ve bu uzmanlık gerektiren bir iştir. Bu tezde, statik kod analiz kurallarının otomatik olarak genişletilmesi için yeni bir yaklaşım sunulmuştur. Bu yaklaşımda, uygulamaya özel programlama kuralları, uygulama çalışırken oluşan kayıtlardan otomatik olarak elde edilmektedir. Bu kayıtlar çevrimdışı olarak analiz edilip hataya neden olan programlama kuralı ihlali bulunmaktadır. Sonrasında, belirlenen hataya uygun olan özelleştirilmiş kontrol kuralı kullanılarak statik kod analiz aracı genişletilmektedir ve uygulamanın tamamı genişletilen araç ile analiz edilmektedir. Bu yaklaşım telekomünikasyon alanındaki iki vaka analizi ile değerlendirilmiştir. Uygulamaların çalışması esnasında toplanan kayıtların analizi sonucunda oluşturulan özelleştirilmiş kontrol kuralları ile gerçek hataların bulunabildiği görülmüştür. | |
dc.description.abstract | Static code analysis tools can generate alerts regarding only generic issues such asuninitialized variables. They cannot detect violations of application-specic rules.Tools can be extended with specialized checkers that implement the verication ofthese rules. However, such rules are usually not documented explicitly. Moreover, theimplementation of specialized checkers is a manual process that requires expertise.In this thesis, we present a novel approach to provide these extensions automatically.In our approach, application-specic programming rules are automatically extractedfrom execution traces collected at runtime. These traces are analyzed oine to identifyprogramming rules, of which violation lead to errors. Then, specialized checkersfor these rules are introduced as extensions to a static analysis tool so that theirviolations can be checked throughout the source code. We evaluated our approachwith two industrial case studies from the telecommunications domain. We were ableto detect real faults with checkers that were automatically generated based on theanalysis of execution logs. | en_US |
dc.language | English | |
dc.language.iso | en | |
dc.rights | info:eu-repo/semantics/openAccess | |
dc.rights | Attribution 4.0 United States | tr_TR |
dc.rights.uri | https://creativecommons.org/licenses/by/4.0/ | |
dc.subject | Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrol | tr_TR |
dc.subject | Computer Engineering and Computer Science and Control | en_US |
dc.title | Extending static analysis with application-specific rules by analyzing runtime execution traces | |
dc.title.alternative | Statik kod analizinin uygulama çalışma izlerinin analiziyle elde edilen uygulama spesifik kurallarla genişletilmesi | |
dc.type | masterThesis | |
dc.date.updated | 2018-08-06 | |
dc.contributor.department | Bilgisayar Mühendisliği Anabilim Dalı | |
dc.subject.ytm | Computer software languages | |
dc.subject.ytm | Application software | |
dc.subject.ytm | Computer softwares | |
dc.identifier.yokid | 10120103 | |
dc.publisher.institute | Fen Bilimleri Enstitüsü | |
dc.publisher.university | ÖZYEĞİN ÜNİVERSİTESİ | |
dc.identifier.thesisid | 438738 | |
dc.description.pages | 57 | |
dc.publisher.discipline | Diğer |