Understanding Sustainability and FAIRness of Research Software

(*) Christina von Flach (IC-UFBA)

Daniela Feitosa (PGCOMP-UFBA)

Joenio Costa (LISIS-France)

Campo Grande, 25/9/2023

Contexto

A sustentabilidade e FAIRness de software de pesquisa são essenciais para a confiabilidade e a reprodutibilidade pesquisa acadêmica.

Objetivo

Caracterizar a prática atual de desenvolvimento de software de pesquisa com grupos de pesquisa da Universidade Federal da Bahia (UFBA).

Fluxo de trabalho

4 etapas na interação com cada grupo pesquisado:

  • Palestra
  • Entrevista
  • Avaliação
  • Relatório

Avaliação

Avaliação da sustentabilidade e aderência aos princípios FAIR (FAIRness) de pelo menos um software de pesquisa desenvolvido pelo grupo de pesquisa com base em critérios e diretrizes bem definidos

Abordagens relacionadas

Avaliação da Sustentabilidade

O Software Sustainability Institute (SSI) fornece um serviço de avaliação online que pode ser usado para avaliar o software de pesquisa.

Com base em alguns critérios do SSI, propomos um modelo com 16 práticas de desenvolvimento.

FAIRness

Princípios FAIR

  • Findable
  • Accessible
  • Interoperable
  • Reusable

Aderência aos princípios FAIR (FAIRness)

Estudos anteriores adaptaram cada princípio FAIR para dados para software de pesquisa.

Utilizamos os materiais desses trabalhos para avaliação de FAIRness de pesquisa.

Anna-Lena Lamprecht et al. 2020. Towards FAIR Principles for Research Software. Data Science 3, 1 (2020), 37–59.

N.P. Chue Hong, D.S. Katz, M. Barker, A. Lamprecht, C. Martinez, F.E. Psomopoulos, J. Harrow, L.J. Castro, M. Gruenpeter, P.A. Martinez, and others. 2021. FAIR principles for research software (FAIR4RS principles). Technical Report. ReSA. https://doi.org/10.15497/RDA00065

Guias e Recomendações

SSI fornece guias para conscientizar pesquisadores e desenvolvedores com dicas e orientações sobre boas práticas de desenvolvimento de software.

The Carpentries oferece treinamentos para conduzir pesquisas eficientes, abertas e reprodutíveis, com recursos relacionados a software de pesquisa.

Avaliação piloto

Software MOSYN

Software MOSYN

  • Software para análise de grafos variáveis no tempo

  • Indicado pelo pesquisador sênior e líder do grupo de pesquisa da área de Física Aplicada entrevistado no projeto piloto

Avaliação da Sustentabilidade do software

MOSYN

Foram consideradas 16 práticas (P1-P16), organizadas em 5 grupos:

  • Práticas Básicas
  • Organização
  • Qualidade
  • Gerência
  • Reconhecimento

Práticas básicas

P S/N/P Comentário
P1 S O software está disponibilizado em um repositório público no GitHub
P2 S O controle de versão é implementado por utilizar o GitHub como plataforma de hospedagem
P3 P Um arquivo declarando a licença MIT. Porém não está claro se as permissões se aplicam a qualquer arquivo fonte no repositório
P4 N O repositório não menciona um DOI associado a ele mas pode ser encontrado no GitHub pelo nome

(P1) Hospedagem do software, (P2) Controle de versão, (P3) Licenças de software e (P4) Registro do software

Organização

P S/N/P Comentário
P5 S A estrutura de pastas está organizada de forma descritiva e permite inferir o conteúdo
P6 S Apesar de não haver documentação explícita, o software utiliza o formato de entrada e saída que facilita a integração com o MATLAB
P7 P O projeto utiliza o GitHub pages mas as informações estão incompletas e algumas URLs direcionam para um destino não válido

(P5) Estrutura de arquivos, (P6) Padronização e (P7) Documentação

Qualidade

P S/N/P Comentário
P8 N Não há testes automatizados para o software
P9 P Todos os pull requests listados no repositórios foram aprovados pelo próprio autor, sugerindo que não houve revisão de código por outra pessoa

(P8) Teste automatizado e (P9) Revisão de código

Gerência

P S/N/P Comentário
P10 S O projeto aproveita a funcionalidade de rastreamento de bugs e tarefas disponível no GitHub
P11 N Não encontramos tarefas automatizadas no projeto
P12 N Não há integração contínua. Por ser um plugin instalado manualmente no MATLAB, a implantação contínua não é viável
P13 N O projeto não utiliza a funcionalidade de lançamento de versões no repositório do GitHub

(P10) Issue Tracker e (P11) Automatização de tarefas, (P12) CI/CD e (P13) Lançamento de versões

Reconhecimento

P S/N/P Comentário
P14 N Há apenas um desenvolvedor como autor
P15 N Não encontramos divulgação em eventos científicos
P16 N Não encontramos citação do software em publicações

(P14) Comunidade, (P15) Divulgação e (P16) Citação de software

Avaliação de FAIRness do software

MOSYN

Avaliamos o software MOSYN identificando se o software incorporou os princípios FAIR:

  • Findable
  • Accessible
  • Interoperable
  • Reusable

Localizável Findable (1)

  Descrição S/N/P
F O software e seus metadados associados são facilmente encontrados tanto por humanos quanto por máquinas P
F1 O software recebe um identificador globalmente único e persistente P
F1.1 Aos componentes do software que representam diferentes níveis de granularidade são atribuídos identificadores distintos S
F1.2 As diferentes versões do software recebem identificadores distintos S

Localizável Findable (2)

  Descrição S/N/P
F2 O software é descrito com metadados detalhados P
F3 Os metadados contêm de forma clara e explícita o identificador do software que descrevem P
F4 Os metadados seguem os princípios FAIR, são pesquisáveis e indexáveis P

Acessível Accessible

  Descrição S/N/P
A O software e seus metadados podem ser obtidos através de protocolos padronizados P
A1 O software é pode ser obtido por meio de seu identificador utilizando um protocolo de comunicação padronizado S
A1.1 O protocolo é aberto, gratuito e universalmente implementável S
A1.2 O protocolo permite procedimentos de autenticação e autorização, quando necessário S
A2 Os metadados são acessíveis, mesmo quando o software não está mais disponível S

Interoperável Interoperable

  Descrição S/N/P
I O software interopera com outros softwares, trocando dados e/ou metadados através da interação via APIs, descrito por meio de padrões P
I1 O software lê, escreve e troca dados de acordo com padrões da comunidade relacionados ao domínio P
I2 O software inclui referências qualificadas a outros objetos P

Reusável Reusable

  Descrição S/N/P
R O software é utilizável (pode ser executado) e reutilizável (pode ser compreendido, modificado, aprimorado ou incorporado a outros softwares) P
R1 O software é descrito com uma variedade de atributos precisos e relevantes P
R1.1 É atribuída uma licença clara e acessível ao software S
R1.2 O software possui informações detalhadas de procedência P
R2 O software inclui referências qualificadas a outros software P
R3 O software atende aos padrões relevantes da comunidade do domínio S

Limitação

A avaliação foi realizada manualmente, por meio da inspeção de informações disponíveis no repositório público do software

Conclusões

O estudo piloto mostrou a viabilidade de uma avaliação da sustentabilidade e FAIRness de um software de pesquisa

Esperamos que os resultados preliminares de nosso estudo piloto inspirem os pesquisadores a refletir sobre a sustentabilidade e FAIRness de seu software de pesquisa, práticas de engenharia de software que podem ajudá-los a alcançá-los, desenvolver ou refinar modelos de avaliação e contribuir para sua adoção

Understanding Sustainability and FAIRness of Research Software

(*) Christina von Flach (IC-UFBA): flach@ufba.br

Daniela Feitosa (PGCOMP-UFBA)

Joenio Costa (LISIS-France)

Campo Grande, 25/9/2023