Título
Auto-correction in structured code editors
Autor
Mendonça, Ângelo Miguel de Lima Frederico
Resumo
pt
Os programadores têm que lidar com a complexidade necessária para utilizar as linguagens de
programação, e estas dificuldades incluem muitos erros de digitação cometidos no código
pelos programadores, que podem ser considerados frequentes na atividade diária de um
programador. Este trabalho de dissertação tem como objetivo criar uma ferramenta em cima
de editores de código estruturado, focando na minimização de erros de digitação através da
auto-correção.
A ferramenta de auto-correção possui dois modos, nomeadamente Post-Token e
Post-Keystroke, em que a principal diferença é a forma como cada um corrige o erro digitado.
O modo Post-Keystroke foca-se numa correção mais imediata das teclas digitadas pelo
utilizador, sendo capaz de analisar o token que o utilizador está a editar e corrigir quaisquer
erros de digitação assim que o utilizador os comete. O modo Post-Token centra-se numa
correção mais simplificada, em que espera que o utilizador termine de editar o token e verifica
se existem erros de digitação para os poder corrigir.
Para os critérios de correção, os modos Post-Keystroke e Post-Token utilizarão algoritmos
diferentes, respetivamente, o Hidden Markov Model, baseado no cálculo da sequência de
estados não observáveis mais provável de ter emitido os símbolos observáveis recebidos, e a
Levenshtein Distance, baseada no cálculo do número de operações necessárias para
transformar uma palavra noutra.
en
Programmers have to deal with the complexity required to use programming languages, and
these difficulties include many typing mistakes made in code by the programmers, which can
be considered frequent in a programmer’s daily activity. This dissertation work aims to create
a tool on top of structured code editors, focusing on minimizing typing mistakes through
auto-correction.
The auto-correction tool has two modes, namely Post-Token and Post-Keystroke, in
which the main difference is the way each one corrects the typed mistake. The Post-Keystroke
mode focuses on a more immediate correction of user keystrokes, in which it is able to
analyze the token the user is editing and correct any typing errors as soon as the user makes
them. The Post-Token mode focuses on a more simplified correction, in which it waits for the
user to finish editing the token and checks for any typed mistakes so that it can correct them.
For the correctness criteria, Post-Keystroke and Post-Token modes will use different
algorithms, respectively, the Hidden Markov Model based on calculating which sequence of
unobservable states is most likely to have emitted the observable symbols received, and the
Levenshtein Distance based on calculating the number of operations needed to transform one
word into another.