Author
Ersoy, Ersin
Publication Date
2016-07
Subject
Computer Engineering and Computer Science and Control, Computer software languages, Computer softwares, Application software, Static code analysis
Type
Document
Language
English
Digital
Yes
Manuscript
No
Library
Özyeğin University
Record ID
f33a9eeb-7ca7-4a01-9f5b-5222df73c3da
Library Location
Department of Electrical and Electronics Engineering
Date
2016-07
Sample Text
Static code analysis tools can generate alerts regarding only generic issues such as uninitialized variables. They cannot detect violations of application-speci c rules. Tools can be extended with specialized checkers that implement the veri cation of these rules. However, such rules are usually not documented explicitly. Moreover, the implementation 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-speci c programming rules are automatically extracted from execution traces collected at runtime. These traces are analyzed o ine to identify programming rules, of which violation lead to errors. Then, specialized checkers for these rules are introduced as extensions to a static analysis tool so that their violations can be checked throughout the source code. We evaluated our approach with two industrial case studies from the telecommunications domain. We were able to detect real faults with checkers that were automatically generated based on the analysis of execution logs., 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.