5 research outputs found
RaisAware: uma ferramenta de auxílio à Engenharia de Software colaborativa baseada em análises de dependências
This paper presents RaisAware, a collaborative software development tool aimed at supporting the relationship between software architecture and coordination of software development activities. RaisAware’s design is based on dependency analysis between software development artifacts created during the implementation phase and software developers’ activities. We describe the theoretical motivations for our tool, detail its design and implementation, and present an evaluation of the tool using open-source project data. Finally, we provide recommendations for future work in this direction.Keywords: collaborative software development, call-graph, co-changes, dependency analysis, software architecture, coordination.Este artigo apresenta a RaisAware, uma ferramenta de auxílio ao desenvolvimento colaborativo de software. RaisAware explora o relacionamento sociotécnico entre a arquitetura do software e a coordenação do trabalho de desenvolvimento de software através da análise de dependências entre os artefatos produzidos na etapa de codificação e entre as atividades dos desenvolvedores. As motivações teóricas para a ferramenta são apresentadas, assim como detalhes do projeto e implementação da RaisAware. Uma avaliação da ferramenta também é apresentada, utilizando-se dados reais de projetos de software livre. O artigo conclui com sugestões de trabalhos futuros.Palavras-chave: desenvolvimento colaborativo de software, call-graph, co-changes, análise de dependências, arquitetura de software, coordenação
Understanding and predicting method-level source code changes using commit history data
Software development and software maintenance require a large amount of source
code changes to be made to a software repositories. Any change to a repository can
introduce new resource needs which will cost more time and money to the repository
owners. Therefore it is useful to predict future code changes in an effort to help
determine and allocate resources. We are proposing a technique that will predict
whether elements within a repository will change in the near future given the development
history of the repository. The development history is collected from source
code management tools such as GitHub and stored local in a PostgreSQL. The predictions
are developed using the machine learning approaches Support Vector Machine
and Random Forest. Furthermore, we will investigate what factors have the most
impact on the performance of predicting using either Support Vector Machines or
Random Forest with future code changes using commit history. Visualizations were
used as part of the approach to gain a deeper understanding of each repository prior
to making predictions. To validate the results we analyzed open source Java software
repositories including; acra, storm, fresco, dagger, and deeplearning4j