Um Catálogo de Problemas Relacionados à Documentação de APIs e seus Impactos
Documentação de API, Qualidade de Documentação, Engenharia de Software Empírica, catálogo de problemas
As APIs (Application Programming interfaces) possuem um papel fundamental no cotidiano de programadores, porém, para elas serem corretamente manuseadas, elas devem ser acompanhadas de uma documentação. Problema: Consequentemente, problemas relacionados a documentações de APIs impactar negativamente seu uso, sua manutenção e a própria tecnologia. Objetivo: Então, o objetivo desta pesquisa é identificar os problemas relacionados a documentação de APIs e analisar seus principais impactos no contexto do desenvolvimento de software. Método: Para atingir o objetivo, será inicialmente realizado um Mapeamento Sistemático da Literatura (MSL) para identificar os problemas já documentados na literatura; em seguida, será realizada uma pesquisa de survey com profissionais para investigar os problemas relacionados a documentação de API no contexto profissional de desenvolvimento de software; e por fim, a elaboração e validação de um catálogo de problemas relacionados a documentação de API. Resultados: Como resultado parcial deste projeto de mestrado, o MSL revelou 26 problemas, os quais foram estruturados em quatro categorias conceituais, das quais duas representam contribuições taxonômicas inteiramente novas deste estudo, mostrando um agravamento no cenário da qualidade de documentações de APIs. Além dos problemas, foram identificados 20 impactos correlacionados, agrupados em quatro categorias, expondo uma relação de causalidade em cascata, onde certos impactos se manifestam como novos problemas. Por fim, a literatura demonstrou uma limitação nas estratégias de mitigação propostas, abrangendo somente 8 tipos de ações. Já para o survey, espera-se que os mesmo problemas e impactos encontrados sejam vistos nos resultados e novos sejam descobertos, além de novas ações para mitigá-los. Os resultados destes dois estudos fornecerão insumos para a catalogação dos problemas relacionados a documentação de APIs e, assim, provendo uma base de conhecimento para que profissionais e pesquisadores da engenharia de software consigam se conscientizar e iniciar novos estudos e soluções sobre o tema.