Skip to main content

Volume 16 Supplement 2

Global Software Engineering

EvolTrack: improving design evolution awareness in software development

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.

References

  1. 1.

    Apache Maven. http://maven.apache.org/

  2. 2.

    Ball T, Eick SG (1996) Software visualization in the large. Computer 29(4):33–43

    Article  Google Scholar 

  3. 3.

    Carneiro GDF, Magnavita R et al. (2008) Combining software visualization paradigms to support software comprehension activities. In: Proceedings of the 4th ACM symposium on software visualization. ACM, New York, pp 201–202. doi:10.1145/1409720.1409755

    Chapter  Google Scholar 

  4. 4.

    Duszynski S, Knodel J et al. (2009) SAVE: software architecture visualization and evaluation. In: European conference on software maintenance and reengineering. IEEE Computer Society, Los Alamitos, pp 323–324. http://doi.ieeecomputersociety.org/10.1109/CSMR.2009.52

    Google Scholar 

  5. 5.

    Feller J, Fitzgerald B (2000) A framework analysis of the open source software development paradigm. In: Proceedings of the 21th international conference on information systems. Association for Information Systems, pp 58–69

  6. 6.

    Froehlich J, Dourish P (2004) Unifying artifacts and activities in a visual tool for distributed software development teams. In: Proceedings of the 26th international conference on software engineering. IEEE Computer Society, Los Alamitos, pp 387–396

    Chapter  Google Scholar 

  7. 7.

    Gamma E, Helm R et al. (1994) Design patterns: elements of reusable object-oriented software. Addison–Wesley, Reading

    Google Scholar 

  8. 8.

    German DM, Hindle A (2006) Visualizing the evolution of software using softchange. Int J Softw Eng Knowl Eng 16(1):5–22

    Article  Google Scholar 

  9. 9.

    Lehman M (1981) Correction to programs, life cycles, and laws of software evolution. Proc IEEE 69(4):485

    Article  Google Scholar 

  10. 10.

    Levkowitz H, Herman GT (1992) Color scales for image data. IEEE Comput Graph Appl 12(1):72–80

    Article  Google Scholar 

  11. 11.

    Molich R, Nielsen J (1990) Improving a human-computer dialogue. Commun ACM 33(3):338–348. doi:10.1145/77481.77486

    Article  Google Scholar 

  12. 12.

    Murta L, Corrêa C et al. (2008) Towards odyssey-VCS 2: improvements over a UML-based version control system. ACM, New York, pp 25–30. doi:10.1145/1370152.1370159

    Google Scholar 

  13. 13.

    Nakakoji K, Yamamoto Y et al. (2002) Evolution patterns of open-source software systems and communities. In: Proceedings of the international workshop on principles of software evolution. ACM, New York, pp 76–85. doi:10.1145/512035.512055

    Google Scholar 

  14. 14.

    Nielsen J, Molich R (1990) Heuristic evaluation of user interfaces. In: Proceedings of the SIGCHI conference on human factors in computing systems: empowering people. ACM, New York, pp 249–256. doi:10.1145/97243.97281

    Chapter  Google Scholar 

  15. 15.

    Prudencio J, Murta L et al (2009) On the selection of concurrency control policies for configuration management. In: Brazilian symposium on software engineering (SBES), pp 155–164

  16. 16.

    Ratzinger J, Fischer M et al (2005) EvoLens: lens-view visualizations of evolution data. In: Eighth international workshop on principles of software evolution, pp 103–112. doi:10.1109/IWPSE.2005.16

  17. 17.

    Raymond ES (2001) The cathedral & the bazaar. O’Reilly Media

  18. 18.

    Rheingans P (1999) Task-based color scale design. In: Proceedings applied image and pattern recognition, pp 35–43

  19. 19.

    Sarkar M, Brown MH (1992) Graphical fisheye views of graphs. In: Proceedings of the SIGCHI conference on human factors in computing systems. ACM, New York, pp 83–91. doi:10.1145/142750.142763

    Google Scholar 

  20. 20.

    Silva IAD, Chen PH et al. (2006) Lighthouse: coordination through emerging design. In: Proceedings of the 2006 OOPSLA workshop on eclipse technology eXchange. ACM, New York, pp 11–15. doi:10.1145/1188835.1188838

    Chapter  Google Scholar 

  21. 21.

    Westhuizen CVD, Chen PH et al. (2006) Emerging design: new roles and uses for abstraction. In: Proceedings of the 2006 international workshop on role of abstraction in software engineering. ACM, New York, pp 23–28. doi:10.1145/1137620.1137626

    Chapter  Google Scholar 

  22. 22.

    Wettel R, Lanza M (2008) Visual exploration of large-scale system evolution. In: Proceedings of the 2008 15th working conference on reverse engineering. IEEE Computer Society, Los Alamitos, pp 219–228

    Chapter  Google Scholar 

  23. 23.

    Winograd T (1996) Bringing design to software. ACM, New York

    Google Scholar 

  24. 24.

    Wohlin C, Runeson P et al. (1999) Experimentation in software engineering: an introduction. Springer, Berlin

    Google Scholar 

  25. 25.

    Yin RK (2002) Applications of case study research, 2nd edn. Sage, Thousand Oaks

    Google Scholar 

Download references

Author information

Affiliations

Authors

Corresponding author

Correspondence to Rafael da Silva Viterbo de Cepêda.

Rights and permissions

Open Access This article is distributed under the terms of the Creative Commons Attribution 2.0 International License ( https://creativecommons.org/licenses/by/2.0 ), which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.

Reprints and Permissions

About this article

Cite this article

de Cepêda, R.d.S.V., Magdaleno, A.M., Murta, L.G.P. et al. EvolTrack: improving design evolution awareness in software development. J Braz Comput Soc 16, 117–131 (2010). https://doi.org/10.1007/s13173-010-0011-5

Download citation

Keywords

  • Software evolution
  • Software visualization
  • Design evolution