SW-Context : um modelo para software analytics baseado em sensibilidade ao contexto
Description
Developers need to deal recurrently with the maintenance activities on existing applications in order to adapt them to new scenarios and needs, for example, new features, bug fixing and legal changes. Besides that, developers often deal with organization factors with a potential impact on the success or failure of software development projects. Some of these organization factors are: large amount of old poorly documented software, many interdependencies between software modules and expert developers who left the company. A way to mitigate the impact of these factors on software correctness and maintainability can be providing useful information regarding the context of code or application under development using the analytics approach. The availability of this information provides a better understanding of the developer in relation to issues surrounding the software and its environment. SW-Context aims to allow a combination of different information related to software artifacts in order to improve the situational awareness of developers on development and maintenance activities. On this way, the main challenges of the model are: a definition of what information must compose software context, structured storage of the contextual information and, finally, the analysis and availability of this context information in a way to help the development and maintenance activities, using the Software Analytics concept. A prototype was implemented containing the main concepts of the proposed model. This prototype was prepared with the contextual information of actual applications under development by a software company and the prototype was evaluated through a case study, where 12 developers used it in their daily activities. By the end of this period, the developers responded a questionnaire, in which the usefulness and the ease of use were measured. The evaluation of the model obtained answers with percentage well placed both in relation to the ease of use as to the usefulness of the system. It can be considered that the consolidation of the contextual information in a single location and the availability of this correlated information in a graphical way, through a dashboard, reached the objective of improving the situational awareness of software developers in maintenance activities.CAPES - Coordenação de Aperfeiçoamento de Pessoal de Nível Superior