Identificação e validação do perfil neurolinguístico de programadores através da mineração de repositórios de software - Rodrigues Júnior, Methanias Colaço (2013)
Hodiernamente, o processo de desenvolvimento de software pode contar com a utilização de diversas ferramentas de apoio. Os sistemas de controle de versão, as listas de discussão entre as pessoas envolvidas no projeto e os sistemas de rastreamento de erros são usados freqüentemente para ajudar a controlar o andamento de projetos de software, produzindo repositórios de dados históricos. Nos últimos anos, pesquisadores vêm realizando análises lingüísticas nas listas de discussão de projetos de software para compreender as complexidades e especificidades do seu desenvolvimento. Uma abordagem inovadora para isso é usar a Teoria da Neuro-Lingüística. A Neuro-Lingüística postula que indivíduos, em contextos específicos, utilizam um sistema representacional preferencial (SRP) para cognição. Isto significa que apesar de diferentes recursos e canais cognitivos serem usados pelos desenvolvedores para entender o software, existem sistemas representacionais preferidos pelos mesmos. Nesta tese, apresentamos uma ferramenta de análise psicométrica baseada na Neuro-Lingüística (NEUROMINER) para classificar os Sistemas Representacionais Preferidos (SRP) de desenvolvedores de software. A avaliação experimental da abordagem foi realizada em três experimentos que visaram testar a classificação do SRP: (1) Um estudo realizado nas listas de discussão dos projetos do servidor Apache e do PostgreSQL; (2) Uma pesquisa de campo com engenheiros de software para estabelecer quais os tipos de sistemas representacionais são os preferidos pelos mesmos; e (3) Um experimento controlado feito na indústria para avaliação da efetividade da ferramenta neste tipo de ambiente. Os resultados indicaram que a nossa abordagem pode ser usada para classificar engenheiros de software com relação às suas preferências de representação para cognição. Esta classificação pode nortear a alocação de desenvolvedores em tarefas específicas e, possivelmente, melhorar a comunicação em organizações de desenvolvimento de software.