LANGUAGE-AGNOSTIC COMPUTER PROGRAM REPAIR ENGINE GENERATOR

Techniques are described herein that are capable of creating a language-agnostic computer program repair engine generator. A context-free grammar is annotated to identify token(s) that are likely to be included in or excluded from a computer program in a manner that violates the context-free grammar...

Ausführliche Beschreibung

Gespeichert in:
Bibliographische Detailangaben
Hauptverfasser: FARIHA, Anna, LE, Vu Minh, BAVISHI, Rohan Jayesh, SIMMONS, Daniel Galen, RADICEK, Ivan, CAMBRONERO SÁNCHEZ, José Pablo, TIWARI, Ashish, GULWANI, Sumit
Format: Patent
Sprache:eng ; fre
Schlagworte:
Online-Zugang:Volltext bestellen
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
Beschreibung
Zusammenfassung:Techniques are described herein that are capable of creating a language-agnostic computer program repair engine generator. A context-free grammar is annotated to identify token(s) that are likely to be included in or excluded from a computer program in a manner that violates the context-free grammar. A language-agnostic computer program repair engine generator is created that is configured to generate a parser. The repair engine generator is configured to create a repair engine that: converts the candidate string into repaired strings that neither violate the context-free grammar nor violate a criterion for a valid computer program; calculates differences between the candidate string and the respective repaired strings; and replaces the candidate string with a designated repaired string based at least in part on the difference between the designated repaired string and the candidate string being less than or equal to a difference threshold. L'invention concerne des techniques qui sont capables de créer un générateur de moteur de réparation de programme informatique indépendant du langage. Une grammaire exempte de contexte est annotée pour identifier un ou plusieurs jetons qui sont susceptibles d'être inclus dans ou exclus d'un programme informatique d'une manière qui enfreint la grammaire exempte de contexte. Un générateur de moteur de réparation de programme informatique indépendant du langage est créé. Il est configuré pour générer un analyseur. Le générateur de moteur de réparation est configuré pour créer un moteur de réparation qui : convertit la chaîne candidate en chaînes réparées qui n'enfreignent ni la grammaire exempte de contexte ni un critère pour un programme informatique valide; calcule des différences entre la chaîne candidate et les chaînes réparées respectives; et remplace la chaîne candidate par une chaîne réparée désignée sur la base, au moins en partie, de la différence entre la chaîne réparée désignée et la chaîne candidate étant inférieure ou égale à un seuil de différence.