Global Software Engineering
- Original Paper
- Open access
- Published:
EvolTrack: improving design evolution awareness in software development
Journal of the Brazilian Computer Society volume 16, pages 117–131 (2010)
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
Apache Maven. http://maven.apache.org/
Ball T, Eick SG (1996) Software visualization in the large. Computer 29(4):33–43
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
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
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
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
Gamma E, Helm R et al. (1994) Design patterns: elements of reusable object-oriented software. Addison–Wesley, Reading
German DM, Hindle A (2006) Visualizing the evolution of software using softchange. Int J Softw Eng Knowl Eng 16(1):5–22
Lehman M (1981) Correction to programs, life cycles, and laws of software evolution. Proc IEEE 69(4):485
Levkowitz H, Herman GT (1992) Color scales for image data. IEEE Comput Graph Appl 12(1):72–80
Molich R, Nielsen J (1990) Improving a human-computer dialogue. Commun ACM 33(3):338–348. doi:10.1145/77481.77486
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
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
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
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
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
Raymond ES (2001) The cathedral & the bazaar. O’Reilly Media
Rheingans P (1999) Task-based color scale design. In: Proceedings applied image and pattern recognition, pp 35–43
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
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
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
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
Winograd T (1996) Bringing design to software. ACM, New York
Wohlin C, Runeson P et al. (1999) Experimentation in software engineering: an introduction. Springer, Berlin
Yin RK (2002) Applications of case study research, 2nd edn. Sage, Thousand Oaks
Author information
Authors and Affiliations
Corresponding author
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.
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
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s13173-010-0011-5