Identificação de viés em código fonte: o caso da seleção automática de ordenações de pessoas [Digital]
Dissertação
Português
681.3.06
Fortaleza, 2020.
A maneira como os sistemas de software lidam com seus usuários (e seus dados) tornou-se uma
preocupação predominante nos últimos anos, onde vários ramos da sociedade se juntaram ao
debate de pesquisadores a legisladores, políticos e o público em geral. Observamos um crescente
uso e implantação de... Ver mais A maneira como os sistemas de software lidam com seus usuários (e seus dados) tornou-se uma
preocupação predominante nos últimos anos, onde vários ramos da sociedade se juntaram ao
debate de pesquisadores a legisladores, políticos e o público em geral. Observamos um crescente
uso e implantação de tecnologias de aprendizado de máquina que empregam dados e informações
pessoais para tomar decisões e recomendações que afetam a vida cotidiana das pessoas. No
entanto, a maneira pela qual os sistemas de software consideram, processam e exibem as saídas
de algoritmos, quer seja de aprendizado automático ou não, para seus usuários pode sofrer
vieses. Além disso, vários governos e órgãos legais aprovaram projetos de lei sobre proteção
de dados, privacidade e propriedade. Portanto, desde desenvolvedores a gestores de software
precisam estar equipados com ferramentas que ajudem na maneira como tratam e manipulam
dados pessoais em seus sistemas de software para que possam evitar a presença de vieses ao
desenvolver softwares. Assim, neste trabalho, apresentamos a Bias Free Software Toolkit, ou
Bifros<T>. Fazendo proveito de técnicas como processamento de linguagem natural, grafos de
conhecimento e análise estática de código, esta ferramenta é capaz de identificar as classes que
representam pessoas em um sistema de software. Em seguida, detectar as instâncias em que as
pessoas são ranqueadas no software, que é um sintoma conhecido de vários vieses diferentes
e, ao final, informar para o usuário em quais locais há possível viés de ordenação de pessoas.
A avaliação da ferramenta em sistemas de código aberto indica bons resultados de precision e
recall.
Palavras-chave: Grafo de Conhecimento. Mineração de código. Viés. Justiça. Desenvolvimento
de software. Ver menos
preocupação predominante nos últimos anos, onde vários ramos da sociedade se juntaram ao
debate de pesquisadores a legisladores, políticos e o público em geral. Observamos um crescente
uso e implantação de... Ver mais A maneira como os sistemas de software lidam com seus usuários (e seus dados) tornou-se uma
preocupação predominante nos últimos anos, onde vários ramos da sociedade se juntaram ao
debate de pesquisadores a legisladores, políticos e o público em geral. Observamos um crescente
uso e implantação de tecnologias de aprendizado de máquina que empregam dados e informações
pessoais para tomar decisões e recomendações que afetam a vida cotidiana das pessoas. No
entanto, a maneira pela qual os sistemas de software consideram, processam e exibem as saídas
de algoritmos, quer seja de aprendizado automático ou não, para seus usuários pode sofrer
vieses. Além disso, vários governos e órgãos legais aprovaram projetos de lei sobre proteção
de dados, privacidade e propriedade. Portanto, desde desenvolvedores a gestores de software
precisam estar equipados com ferramentas que ajudem na maneira como tratam e manipulam
dados pessoais em seus sistemas de software para que possam evitar a presença de vieses ao
desenvolver softwares. Assim, neste trabalho, apresentamos a Bias Free Software Toolkit, ou
Bifros<T>. Fazendo proveito de técnicas como processamento de linguagem natural, grafos de
conhecimento e análise estática de código, esta ferramenta é capaz de identificar as classes que
representam pessoas em um sistema de software. Em seguida, detectar as instâncias em que as
pessoas são ranqueadas no software, que é um sintoma conhecido de vários vieses diferentes
e, ao final, informar para o usuário em quais locais há possível viés de ordenação de pessoas.
A avaliação da ferramenta em sistemas de código aberto indica bons resultados de precision e
recall.
Palavras-chave: Grafo de Conhecimento. Mineração de código. Viés. Justiça. Desenvolvimento
de software. Ver menos
The way in which software systems deal with their users (and their data) has become a predominant
concern in recent years, where various branches of society have joined the debate from
researchers to legislators, politicians and the general public. We have seen an increasing use
and deployment of... Ver mais The way in which software systems deal with their users (and their data) has become a predominant
concern in recent years, where various branches of society have joined the debate from
researchers to legislators, politicians and the general public. We have seen an increasing use
and deployment of machine learning technologies that employ personal data and information to
make decisions and recommendations that affect people¿s daily lives. However, the way in which
software systems consider, process and display the outputs of algorithms, whether automatic
learning or not, for their users may suffer bias. In addition, several governments and legal
bodies have passed bills on data protection, privacy and property. Therefore, from developers
to software managers, they need to be equipped with tools that help in the way they treat and
manipulate personal data in their software systems so that they can avoid the presence of bias
when developing software. Thus, in this work, we present the Bias Free Software Toolkit, or
Bifros<T>. Taking advantage of techniques such as natural language processing, knowledge
graphs and static code analysis, this tool is able to identify the classes that represent people in a
software system. Then, detect the instances in which people are ranked in the software, which is
a known symptom of several different biases and, at the end, inform the user in which places
there are possible biases in ordering people. The evaluation of the tool in open source systems
indicates good results of precision and recall.
Keywords: Knowledge Graph. Code Mining. Bias. Fairness. Software Development Ver menos
concern in recent years, where various branches of society have joined the debate from
researchers to legislators, politicians and the general public. We have seen an increasing use
and deployment of... Ver mais The way in which software systems deal with their users (and their data) has become a predominant
concern in recent years, where various branches of society have joined the debate from
researchers to legislators, politicians and the general public. We have seen an increasing use
and deployment of machine learning technologies that employ personal data and information to
make decisions and recommendations that affect people¿s daily lives. However, the way in which
software systems consider, process and display the outputs of algorithms, whether automatic
learning or not, for their users may suffer bias. In addition, several governments and legal
bodies have passed bills on data protection, privacy and property. Therefore, from developers
to software managers, they need to be equipped with tools that help in the way they treat and
manipulate personal data in their software systems so that they can avoid the presence of bias
when developing software. Thus, in this work, we present the Bias Free Software Toolkit, or
Bifros<T>. Taking advantage of techniques such as natural language processing, knowledge
graphs and static code analysis, this tool is able to identify the classes that represent people in a
software system. Then, detect the instances in which people are ranked in the software, which is
a known symptom of several different biases and, at the end, inform the user in which places
there are possible biases in ordering people. The evaluation of the tool in open source systems
indicates good results of precision and recall.
Keywords: Knowledge Graph. Code Mining. Bias. Fairness. Software Development Ver menos
Furtado, João José Vasco Peixoto
Orientador
Paixão, Matheus Henrique Esteves
Coorientador
Caminha Neto, Carlos de Oliveira
Coorientador
Pinheiro, Vladia Celia Monteiro
Banca examinadora
Almeida, Virgílio Augusto Fernandes
Banca examinadora
Universidade de Fortaleza. Programa de Pós-Graduação em Informática Aplicada
Dissertação (mestrado)