Geri Dön

Boosting automated program repair foradoption by practitioners

Uygulayıcıların Kullanımı için Otomatik Program Onarımını Artırma

  1. Tez No: 760333
  2. Yazar: ANIL KOYUNCU
  3. Danışmanlar: DR. YVES LE TRAON
  4. Tez Türü: Doktora
  5. Konular: Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrol, Computer Engineering and Computer Science and Control
  6. Anahtar Kelimeler: Belirtilmemiş.
  7. Yıl: 2020
  8. Dil: İngilizce
  9. Üniversite: University of Luxembourg
  10. Enstitü: Yurtdışı Enstitü
  11. Ana Bilim Dalı: Bilgisayar Ana Bilim Dalı
  12. Bilim Dalı: Belirtilmemiş.
  13. 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

  1. 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

    İngilizce

    2024

    Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrolİstanbul Teknik Üniversitesi

    Hesaplamalı Bilimler ve Mühendislik Ana Bilim Dalı

    PROF. DR. ADEM TEKİN

  2. 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

    İngilizce

    2020

    Elektrik ve Elektronik MühendisliğiOrta Doğu Teknik Üniversitesi

    Elektrik-Elektronik Mühendisliği Ana Bilim Dalı

    DOÇ. DR. CÜNEYT FEHMİ BAZLAMAÇCI

  3. 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

    Türkçe

    2018

    Makine Mühendisliğiİstanbul Teknik Üniversitesi

    Makine Mühendisliği Ana Bilim Dalı

    YRD. DOÇ. DR. ZEYNEP PARLAR

  4. 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

    Doktora

    Türkçe

    Türkçe

    2023

    Fizyolojiİstanbul Üniversitesi

    Fizyoloji Ana Bilim Dalı

    PROF. DR. TAMER DEMİRALP

  5. İ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

    Türkçe

    2024

    Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve KontrolKütahya Dumlupınar Üniversitesi

    Bilgisayar Mühendisliği Ana Bilim Dalı

    DR. ÖĞR. ÜYESİ ŞERİF ALİ SADIK