Boosting automated program repair foradoption by practitioners
Uygulayıcıların Kullanımı için Otomatik Program Onarımını Artırma
- Tez No: 760333
- Danışmanlar: DR. YVES LE TRAON
- Tez Türü: Doktora
- Konular: Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrol, Computer Engineering and Computer Science and Control
- Anahtar Kelimeler: Belirtilmemiş.
- Yıl: 2020
- Dil: İngilizce
- Üniversite: University of Luxembourg
- Enstitü: Yurtdışı Enstitü
- Ana Bilim Dalı: Bilgisayar Ana Bilim Dalı
- Bilim Dalı: Belirtilmemiş.
- Sayfa Sayısı: 171
Özet
Otomatik program onarımı (APR), yazılım bakımının otomasyonunda nihai hedef olarak araştırmadan ve endüstriden büyük ilgi görmektedir. Bu otomasyon vaadini gerçekleştirmek için araştırma topluluğu, APR'nin artık kurgusal olmadığını giderek artan bir şekilde gösteren çeşitli fikir ve teknikleri araştırmıştır. Literatür teknikleri, iyi belirlenmiş karşılaştırmalı değerlendirmeler dahilinde kusurların önemli bir kısmını düzeltmede sürekli olarak yeni rekorlar kırsa da, uygulamada APR'nin geniş çapta benimsendiğinin farkında değiliz. Bu arada, açık kaynak ve ticari kuruluşlar, yazılım geliştirme döngüsüne bazı otomatik adımları dahil etme potansiyeli üzerinde düşünmeye başlamışlardır. Aslında, mevcut uygulamada, kod stili kontrolü, hata tespiti ve sistematik yama gibi çeşitli görevleri otomatik ve sistematik hale getirmek için bir dizi araç kullanan birkaç geliştirme ayarı vardır. Çalışmamız bu gerçek ile güdülendirmektedir. Hata ayıklama görevlerini otomatikleştirmek için araçlardan yararlanan mevcut uygulamanın sistematik ve deneysel olarak araştırılmasının, geliştirici topluluklar tarafından kabul edilebilirliğine yönelik olarak APR gündemini yeniden düşünmek ve güçlendirmek için değerli bilgiler sağlayacağını savunmaktayız. Bu tezde üç araştırma ekseni belirledik. İlk olarak, program onarımını yönlendirmek için değerli olabilecek kod değişikliği özelliklerini anlamaya yönelik madencilik yazılım mahzenleri. İkincisi, gerçek dünyadaki bir program onarım senaryosunda ne ölçüde alakalı olabileceklerini değerlendirmek için yazılım geliştirmedeki iletişim kanallarını analiz etmek. Üçüncüsü, endüstriyel ayarlarla entegre edilebilecek program onarım hatları için ortak bir temel oluşturmak amacıyla literatürdeki genel yama kavramlarını keşfetmek. Bu tez, topluluğa aşağıdaki katkıları sağlar: • Kabul, kararlılık ve elle oluşturulan yamalar ile araç destekli yamalar ile düzeltilen hataların doğası hakkında somut bilgiler sağlayan gerçek bir geliştirme ortamında araç desteğine ilişkin ve otomatik onarım tekniklerini iyileştirme fırsatlarını gösteren ampirik bir çalışma. • Çeşitli özellik türlerinin benzerlik puanlarının nasıl hesaplanacağını öğrenen yeni bir bilgi alma tabanlı hata yerelleştirme yaklaşımı. • Otomatikleştirilmiş program onarım hatlarına entegre edilebilecek düzeltme modeli çıkarımı için otomatikleştirilmiş bir madencilik stratejisi. • Uygulamalı bir hata raporuna dayalı program onarım hattı.
Özet (Çeviri)
Automated program repair (APR) attracts huge interest from research and industry as the ultimate target in the automation of software maintenance. Towards realising this automation promise, the research community has explored various ideas and techniques, which are increasingly demonstrating that APR is no longer fictional. Although literature techniques constantly set new records in fixing a significant fraction of defects within well-established benchmarks, we are not aware of the large-scale adoption of APR in practice. Meanwhile, open-source and commercial organisations have started to reflect on the potential of integrating some automated steps in the software development cycle. Actually, the current practice has several development settings that use a number of tools to automate and systematise various tasks such as code style checking, bug detection, and systematic patching. Our work is motivated by this fact. We advocate that systematic and empirical exploration of the current practice that leverages tools to automate debugging tasks would provide valuable insights for rethinking and boosting the APR agenda towards its acceptability by developer communities. We have identified three investigation axes in this dissertation. First, mining software repositories towards understanding code change properties that could be valuable to guide program repair. Second, analysing communication channels in software development in order to assess to what extent they could be relevant in a real-world program repair scenario. Third, exploring generic concepts of patching in the literature for establishing a common foundation for program repair pipelines that can be integrated with industrial settings. This dissertation makes the following contributions to the community: • An empirical study of tool support in a real development setting providing concrete insights on the acceptance, stability, and the nature of bugs being fixed by manually-craft patches vs. tool-supported patches and manifests opportunities for improving automated repair techniques. • A novel information retrieval based bug localisation approach that learns how to compute the similarity scores of various types of features. • An automated mining strategy to infer fix pattern that can be integrated into automated program repair pipelines. • A practical bug report driven program repair pipeline.
Benzer Tezler
- Machine learning assisted force field development for nucleic acids
Nükleik asitler için makine öğrenimi destekli kuvvet alanı geliştirilmesi
GÖZDE İNİŞ DEMİR
Doktora
İngilizce
2024
Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrolİstanbul Teknik ÜniversitesiHesaplamalı Bilimler ve Mühendislik Ana Bilim Dalı
PROF. DR. ADEM TEKİN
- Boosting performance of hls optimization for soc based hardware accelerators
Soc tabanlı donanım hızlandırmalarında hls performansını yükseltme
AZİZ BERKİN KOCAAY
Yüksek Lisans
İngilizce
2020
Elektrik ve Elektronik MühendisliğiOrta Doğu Teknik ÜniversitesiElektrik-Elektronik Mühendisliği Ana Bilim Dalı
DOÇ. DR. CÜNEYT FEHMİ BAZLAMAÇCI
- Bulaşık makinesi yıkama performansına etki eden mekanik parametrelerin deneysel ve teorik olarak incelenmesi
Theoretical and experimental investigation of mechanical parameters affecting the dishwasher cleaning performance
OĞUZHAN KELEŞ
Yüksek Lisans
Türkçe
2018
Makine Mühendisliğiİstanbul Teknik ÜniversitesiMakine Mühendisliği Ana Bilim Dalı
YRD. DOÇ. DR. ZEYNEP PARLAR
- Nöropsikiyatrik hastalıkların tanısına destek amacıyla multimodal nörogörüntüleme verilerinin makine öğrenimi algoritmaları kullanılarak işlenmesi
Processing of multimodal neuroimaging data using machine learning algorithms to support diagnosis of neuropsychiatric diseases
CAN SOYLU
- İnsan sesinden hibrit spektral özniteliklerle konuşmacı özelliklerinin tahmini
Prediction of speaker characteristics with hybrid spectral features from human voice
KAYA AKGÜN
Yüksek Lisans
Türkçe
2024
Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve KontrolKütahya Dumlupınar ÜniversitesiBilgisayar Mühendisliği Ana Bilim Dalı
DR. ÖĞR. ÜYESİ ŞERİF ALİ SADIK