Abstract

Abstract Software differs from most manufactured products because it is intangible. This characteristic makes it difficult to detect, control, and understand how it evolves. This paper presents an approach based on software visualization that can detect and externalize design evolution made in a software project during its initial development or at any further phase. By using this approach, a developer can be aware of the current state of the software as a whole and can additionally verify if the current design, also called emerging design, is evolving according to the team expectations and leader guidance, preventing problems caused by misunderstandings of the expected software solution. The approach was evaluated with free/open source software (FOSS) projects. The results indicate that the approach behaves as expected when applied to real software development projects, with minor performance bottlenecks.

Highlights

  • Software design is a problem-solving activity that links the problem domain with the solution domain [23]

  • We present an approach, called EvolTrack that, based on software visualization, captures and communicates with minimal human intervention each contribution made to a specific software project

  • This paper presented an approach based on software visualization to increase the awareness of design evolution in software projects

Read more

Summary

Introduction

Software design is a problem-solving activity that links the problem domain with the solution domain [23]. Any kind of misunderstanding or divergence (i.e., a failed communication) between the initial idea of the solution and the current implemented solution can lead to future problems These issues are amplified when looking at a real programming dynamics, that is, when software evolution is considered and when distributed development takes place, leading to severely harmed communication. Note that we are not intending to eliminate communication; instead we hope to provide additional means to make this activity more effective and constant during the software development phase In this context, to evaluate the feasibility of EvolTrack in real scenarios, we executed a qualitative study using free/open source software (FOSS) projects.

Motivation
EvolTrack overview
EvolTrack architecture
Visualizing metric evolution
Perceiving design evolution
Feasibility evaluation
Study definition and planning
Study execution
Result analysis
Related work
Conclusions and future work
Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call