Apresentação para banca examinadora da defesa de mestrado do Programa de Pós-graduação em Ciência da Computação da Universidade Federal da Bahia, Salvador-Bahia, 19 de Dezembro de 2017.
Joenio Marques da Costa
Orientadora: Dra. Christina von Flach G. Chavez
Co-orientador: Dr. Paulo Roberto Miranda Meirelles
Todo software usado para coletar, processar ou analisar resultados de pesquisas com intenção de publicação na literatura acadêmica, incluindo desde protótipos escritos pelos próprios cientistas, a produtos completos desenvolvidos profissionalmente.
ALLEN, A. et al. Engineering academic software (dagstuhl perspectives workshop 16252). In: Dagstuhl Manifestos. [S.l.]: Schloss Dagstuhl-Leibniz-Zentrum fuer Informatik, 2017.
HOWISON, J.; HERBSLEB, J. D. Scientific software production: incentives and collaboration. In: Proceedings of the ACM 2011 conference on Computer supported cooperative work. [S.l.: s.n.], 2011.
HOWISON, J. et al. Understanding the scientific software ecosystem and its impact: Current and future measures. Research Evaluation, v. 24, n. 4, p. 454–470, 2015.
HOWISON, J.; HERBSLEB, J. D. Scientific software production: incentives and collaboration. In: Proceedings of the ACM 2011 conference on Computer supported cooperative work. [S.l.: s.n.], 2011.
Ecossistema de Software (Software Ecosystem) - SECO é interação entre diversos atores numa plataforma tecnológica comum, resultando em novas soluções de software ou novos serviços.
MANIKAS, K.; HANSEN, K. M. Software ecosystems–a systematic literature review. Journal of Systems and Software, Elsevier, v. 86, n. 5, p. 1294–1306, 2013.
56% dos pesquisadores de todas as áreas do Reino Unido desenvolvem software acadêmico. HETTRICK, S. et al. UK Research Software Survey 2014. 2014.
90% dos pesquisadores na astronomia desenvolvem suas próprias ferramentas de software. MOMCHEVA, I.; TOLLERUD, E. Software use in astronomy: an informal survey. arXiv preprint arXiv:1507.03989, 2015.
Muitas pesquisas não mencionam sequer o uso de software acadêmico em suas publicações. HOWISON, J.; BULLARD, J. Software in the scientific literature: Problems with seeing, finding, and using software mentioned in the biology literature. Journal of the Association for Information Science and Technology, v. 67, n. 9, p. 2137–2155, 2016.
Grande parte dos pesquisadores não sabem o quão confiável seus projetos de software são. MERALI, Z. Computational science: Error, why scientific programming does not compute. Nature, Nature Publishing Group, v. 467, n. 7317, p. 775–777, oct 2010.
O software acadêmico sofre de um fenômeno conhecido por Desordem Caótica Disfuncional (“dysfunctional chaotic churn”) - DCD.
HOWISON, J. et al. Understanding the scientific software ecosystem and its impact: Current and future measures. Research Evaluation, v. 24, n. 4, p. 454–470, 2015.
“A qualidade e a sustentabilidade do software acadêmico deve ser avaliado tanto à priori quanto à posteriori.”
ALLEN, A. et al. Engineering academic software (dagstuhl perspectives workshop 16252). In: Dagstuhl Manifestos. [S.l.]: Schloss Dagstuhl-Leibniz-Zentrum fuer Informatik, 2017.
individual - social - econômica - ambiental - técnica
BECKER, C. et al. The karlskrona manifesto for sustainability design. CoRR, abs/1410.6968, 2014.
A dimensão técnica diz respeito a capacidade do software de perdurar e de continuar sendo suportado ao longo do tempo, implicando em qualidades de longevidade e manutenção.
VENTERS, C. C. et al. Software sustainability: The modern tower of babel. In: CEUR Workshop Proceedings. [S.l.: s.n.], 2014.
Como a DCD pode explicar a sustentabilidade técnica dos projetos do ecossistema de software acadêmico de análise estática em termos de publicização, reconhecimento e estágio de evolução?
Estudo de caso exploratório, características:
STOL, K.-J.; FITZGERALD, B. A holistic overview of software engineering research strategies. In: 3rd International Workshop on Conducting Empirical Studies in Industry. [S.l.: s.n.], 2015.
Análise estática é a atividade de obter informações acerca de um programa a partir do seu código-fonte, tem suas origens nos estudos e desenvolvimentos de compiladores.
CRUZ, D. d.; HENRIQUES, P. R.; PINTO, J. S. Code analysis: Past and present. 2009.
Revisão de literatura nas conferências ASE e SCAM
Escopo
Triagem automática
Critério | String |
---|---|
Menciona projeto | tool ou framework |
Disponibiliza download | download ou available |
Informa URL | http, https ou ftp |
Análise estática | static analysis ou parser |
Extração
Critério | Explicação |
---|---|
Identificável | É possível identificar software entre as contribuições do artigo? |
Disponível | Podemos encontrar menção a URL do software para download? |
61 artigos com publicação de 60 projetos de software acadêmico de análise estática.
✓ Nome, URL, Artigo, Conferência, Ano
✗ Descrição, Acesso, Distribuição, Licença, Código fonte
Caracterização dos 60 projetos em relação a disponibilidade de download.
Download | Número | Proporção |
---|---|---|
Disponível para download | 36 | 60% |
Indisponível para download | 24 | 40% |
Caracterização dos 36 projetos disponíveis para download em relação à disponibilidade de código fonte.
Código fonte | Número | Proporção |
---|---|---|
Disponibiliza código fonte | 34 | ~94% |
Não disponibiliza código fonte | 2 | ~6% |
Caracterização dos 34 projetos com código fonte disponível em relação ao uso de licenças de software livre.
Uso de licenças livres | Número | Proporção |
---|---|---|
Utiliza licença de software livre | 21 | ~62% |
Não adota licença alguma | 13 | ~38% |
Caracterização em relação à linguagem de programação.
O número e tipo de menção foi utilizado como proxy para medir o grau de reconhecimento ao software acadêmico.
Revisão de literatura nas bases ACM e IEEE
Busca
String de busca para o software s6 |
---|
content.ftsec:(+civl +concurrency +intermediate +verification +language) |
(‘concurrency intermediate verification’) AND CIVL |
…
Triagem
Inspeção manual dos artigos em busca de ocorrências ao nome do projeto (menção) em todo o conteúdo.
Keywording
ID | Artigo | Anotação |
---|---|---|
s3 | p250 | Cita o software como exemplo de ferramenta para recomendação de API numa tabela comparativa. |
s3 | p546 | Nenhuma referência ao nome do software encontrado no texto. |
s3 | p799 | Cita o software como trabalho relacionado. |
Extração
Cada menção foi classificada a partir do esquema para classificação de menções elaborado na fase de Keywording.
Tipo de menção | Número | Proporção |
---|---|---|
Mencionado apenas na publicação inicial | 14 | ~23% |
Utilizado apenas na publicação inicial | 16 | ~27% |
Utilizado em outros estudos | 12 | 20% |
Recebe contribuição de outros estudos | 18 | 30% |
CAPILUPPI, A. et al. Adapting the staged model for software evolution to free/libre/open source software. In: Ninth international workshop on Principles of software evolution: in conjunction with the 6th ESEC/FSE joint meeting. [S.l.: s.n.], 2007.
Terceiro, A. et al. Analizo: an extensible multi-language source code analysis and visualization toolkit. In: CBSOFT-Ferramentas. [S.l.: s.n.], 2010.
Projetos | Estágio |
---|---|
Sem informação sobre lançamentos | Desenvolvimento inicial |
Com apenas um lançamento | Desenvolvimento inicial |
Indisponível para download | Encerrado |
Tornaram-se indisponíveis durante a realização da pesquisa | Descontinuado |
Os demais projetos com informações sobre lançamento e código fonte disponível foram analisados para coleta das seguintes métricas:
Estágio de evolução | Número | Proporção |
---|---|---|
Inicial, descontinuado ou encerrado | 47 | 78% |
Evolução ou manutenção | 8 | 14% |
Indícios de estágio inicial, evoluçao ou manutenção | 5 | 8% |
O reconhecimento ao software acadêmico de análise estática vem crescendo
Os projetos com licenças de software livre possuem maior reconhecimento
O crescimento médio no número de módulos confirma a lei de “Crescimento Contínuo” do software
Questão: Como a desordem caótica disfuncional (DCD) pode explicar a sustentabilidade técnica dos projetos do ecossistema de software acadêmico de análise estática em termos de publicização, reconhecimento e estágio de evolução?
50% é mencionado ou utilizado apenas na publicação inicial.
78% está em estágio inicial de desenvolvimento, descontinuado ou encerrado.
80 artigos apresentam fortes indícios de serem impossíveis de reproduzir uma vez que fazem menção (uso ou contribuição) a projetos em estágio Encerrado.
“Devemos reconhecer o software como instrumento experimental de primeira-classe na Ciência.”
GOBLE, C. Better software, better research. IEEE Internet Computing, IEEE, v. 18, n. 5, p. 4–8, 2014.
JIMéNEZ, R. C. et al. Four simple recommendations to encourage best practices in research software. F1000Research, v. 6, p. 876, jun. 2017.
joenio@joenio.me
Esta apresentação está disponível em:
http://joenio.me/sustentabilidade-software-academico
(código-fonte: http://github.com/joenio/joenio.me)
Onde e quando esta apresentação foi realizada