Tytuł artykułu
Autorzy
Treść / Zawartość
Pełne teksty:
Identyfikatory
Warianty tytułu
Języki publikacji
Abstrakty
Development and maintenance of understandable and modifiable software is very challenging. Good system design and implementation requires strict discipline. The architecture of a project can sometimes be exceptionally difficult to grasp by developers. A project’s documentation gets outdated in a matter of days. These problems can be addressed using software analysis and visualization tools. Incorporating such tools into the process of continuous integration provides a constant up-to-date view of the project as a whole and helps keeping track of what is going on in the project. In this article we describe an innovative method of software analysis and visualization using graph-based approach. The benefits of this approach are shown through experimental evaluation in visual assessment of software quality using a proof-of-concept implementation — the Magnify tool.
Czasopismo
Rocznik
Tom
Strony
7--26
Opis fizyczny
Bibliogr. 48 poz., rys.
Twórcy
autor
- Institute of Informatics, University of Warsaw
autor
- Institute of Informatics, University of Warsaw
autor
- Institute of Informatics, University of Warsaw
autor
- Institute of Informatics, University of Warsaw
Bibliografia
- [1] E. W. Dijkstra, “Letters to the editor: go to statement considered harmful,” Commun. ACM, Vol. 11, No. 3, 1968, pp. 147–148.
- [2] J. McCarthy, M. I. of Technology. Computation Center, and M. I. of Technology. Research Laboratory of Electronics, Lisp one five programmer’s manual. Massachusetts Institute of Technology, 1965. [Online]. http://books.google.pl/books?id=68j6lEJjMQwC
- [3] W. Royce, “Managing the development of large software systems: Concepts and techniques,” in WESCOM, 1970.
- [4] K. Beck, “Embracing change with extreme programming,” IEEE Computer, Vol. 32, No. 10, 1999, pp. 70–77.
- [5] R. Kaufmann and D. Janzen, “Implications of test-driven development: a pilot study,” in Companion of the 18th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications, ser. OOPSLA ’03. New York, NY, USA: ACM, 2003, pp. 298–299. [Online]. http://doi.acm.org/10.1145/949344.949421
- [6] R. Dabrowski, “On architecture warehouses and software intelligence,” in FGIT, ser. Lecture Notes in Computer Science, T.-H. Kim, Y.-H. Lee, and W.-C. Fang, Eds., Vol. 7709. Springer, 2012, pp. 251–262.
- [7] R. Dabrowski, K. Stencel, and G. Timoszuk, “Software is a directed multigraph,” in ECSA, ser. Lecture Notes in Computer Science, I. Crnkovic, V. Gruhn, and M. Book, Eds., Vol. 6903. Springer, 2011, pp. 360–369.
- [8] R. Dabrowski, G. Timoszuk, and K. Stencel, “One graph to rule them all software measurement and management,” Fundam. Inform., Vol. 128, No. 1-2, 2013, pp. 47–63.
- [9] C. Bartoszuk, G. Timoszuk, R. Dabrowski, and K. Stencel, “Magnify - a new tool for software visualization,” in FedCSIS, M. Ganzha, L. A. Maciaszek, and M. Paprzycki, Eds., 2013, pp. 1473–1476.
- [10] C. Bartoszuk, R. Dabrowski, K. Stencel, and G. Timoszuk, “On quick comprehension and assessment of software,” in CompSysTech, B. Rachev and A. Smrikarov, Eds. ACM, 2013, pp. 161–168.
- [11] R. Dabrowski, K. Stencel, and G. Timoszuk, “Improving software quality by improving architecture management,” in CompSysTech, B. Rachev and A. Smrikarov, Eds. ACM, 2012, pp. 208–215.
- [12] L. J. Osterweil, “Software processes are software too,” in ICSE, W. E. Riddle, R. M. Balzer, and K. Kishida, Eds. ACM Press, 1987, pp. 2–13.
- [13] M. T. T. That, S. Sadou, and F. Oquendo, “Using architectural patterns to define architectural decisions,” in WICSA/ECSA, T. Männistö, A. M. Babar, C. E. Cuesta, and J. Savolainen, Eds. IEEE, 2012, pp. 196–200.
- [14] M. Wermelinger, A. Lopes, and J. L. Fiadeiro, “A graph based architectural (re)configuration language,” in ESEC / SIGSOFT FSE, 2001, pp. 21–32.
- [15] A. Tang, P. Liang, and H. van Vliet, “Software architecture documentation: The road ahead,” in WICSA, 2011, pp. 252–255.
- [16] H. P. Breivold, I. Crnkovic, and M. Larsson, “Software architecture evolution through evolvability analysis,” Journal of Systems and Software, Vol. 85, No. 11, 2012, pp. 2574–2592.
- [17] J. Derrick and H. Wehrheim, “Model transformations across views,” Sci. Comput. Program., Vol. 75, No. 3, 2010, pp. 192–210.
- [18] T. Kühne, B. Selic, M.-P. Gervais, and F. Terrier, Eds., Modelling Foundations and Applications, 6th European Conference, ECMFA 2010, Paris, France, June 15-18, 2010. Proceedings, ser. Lecture Notes in Computer Science, Vol. 6138. Springer, 2010.
- [19] RAVENFLOW, RAVEN: Requirements Authoring and Validation Environment. www.ravenflow.com, 2007. [Online]. http://www.ravenflow.com
- [20] J. Whitehead, “Collaboration in software engineering: A roadmap,” in 2007 Future of Software Engineering, ser. FOSE ’07. Washington, DC, USA: IEEE Computer Society, 2007, pp. 214–225. [Online]. http://dx.doi.org/10.1109/FOSE.2007.4
- [21] P. Kruchten, P. Lago, H. van Vliet, and T. Wolf,“Building up and exploiting architectural knowledge,” in WICSA, IEEE Computer SocietyWashington, DC, USA. IEEE Computer Society, 2005, pp. 291–292.
- [22] A. Tang, P. Avgeriou, A. Jansen, R. Capilla, and M. Ali Babar, “A comparative study of architecture knowledge management tools,” Journal of Systems and Software, Vol. 83, No. 3, 2010, pp. 352–370.
- [23] D. Garlan, V. Dwivedi, I. Ruchkin, and B. R. Schmerl, “Foundations and tools for end-user architecting,” in Monterey Workshop, ser. Lecture Notes in Computer Science, R. Calinescu and D. Garlan, Eds., Vol. 7539. Springer, 2012, pp. 157–182.
- [24] I. Gorton, C. Sivaramakrishnan, G. Black, S. White, S. Purohit, C. Lansing, M. Madison, K. Schuchardt, and Y. Liu, “Velo: A knowledge-management framework for modeling and simulation,” Computing in Science Engineering, Vol. 14, No. 2, march-april 2012, pp. 12 –23.
- [25] N. Brown, R. L. Nord, I. Ozkaya, and M. Pais, “Analysis and management of architectural dependencies in iterative release planning,” in WICSA, 2011, pp. 103–112.
- [26] R. L. Nord, I. Ozkaya, and R. S. Sangwan, “Making architecture visible to improve flow management in lean software development,” IEEE Software, Vol. 29, No. 5, 2012, pp. 33–39.
- [27] A. van Hoorn, J. Waller, and W. Hasselbring, “Kieker: a framework for application performance monitoring and dynamic software analysis,” in ICPE, D. R. Kaeli, J. Rolia, L. K. John, and D. Krishnamurthy, Eds. ACM, 2012, pp. 247–248.
- [28] P. Avgeriou, J. Grundy, J. G. Hall, P. Lago, and I. Mistrík, Eds., Relating Software Requirements and Architectures. Springer, 2011.
- [29] G. Spanoudakis and A. Zisman, “Software traceability: a roadmap,” Handbook of Software Engineering and Knowledge Engineering, Vol. 3, 2005, pp. 395–428.
- [30] A. Egyed and P. Grünbacher, “Automating requirements traceability: Beyond the record & replay paradigm,” in ASE, IEEE Computer Society Washington, DC, USA. IEEE Computer Society, 2002, pp. 163–171.
- [31] P. Kruchten, “Where did all this good architectural knowledge go?” in ECSA, ser. Lecture Notes in Computer Science, M. A. Babar and I. Gorton, Eds., Vol. 6285. Springer, 2010, pp. 5–6.
- [32] D. Garlan and M. Shaw, “Software architecture: reflections on an evolving discipline,” in SIGSOFT FSE, T. Gyimóthy and A. Zeller, Eds.ACM, 2011, p. 2.
- [33] B. Merkle, “Stop the software architecture erosion,” in SPLASH/OOPSLA Companion, W. R. Cook, S. Clarke, and M. C. Rinard, Eds. ACM, 2010, pp. 295–297.
- [34] A. Chatzigeorgiou, S. Xanthos, andG. Stephanides, “Evaluating object-oriented designs with link analysis,” in ICSE, A. Finkelstein, J. Estublier, and D. S. Rosenblum, Eds. IEEE Computer Society, 2004, pp. 656–665.
- [35] M. Ziane and M. Ó. Cinnéide, “The case for explicit coupling constraints,” CoRR, Vol. abs/1305.2398, 2013.
- [36] R. Koschke, “Software visualization for reverse engineering,” in Software Visualization, ser. Lecture Notes in Computer Science, S. Diehl, Ed., Vol. 2269. Springer, 2001, pp. 138–150.
- [37] J. I. Maletic, A. Marcus, and L. Feng, “Source viewer 3d (sv3d) - a framework for software visualization,” in ICSE, L. A. Clarke, L. Dillon, and W. F. Tichy, Eds. IEEE Computer Society, 2003, pp. 812–813.
- [38] C. S. Collberg, S. G. Kobourov, J. Nagra, J. Pitts, and K. Wampler, “A system for graph-based visualization of the evolution of software,” in SOFTVIS, S. Diehl, J. T. Stasko, and S. N. Spencer, Eds. ACM, 2003, pp. 77–86, 212–213.
- [39] S. P. Reiss, “Dynamic detection and visualization of software phases,” ACM SIGSOFT Software Engineering Notes, Vol. 30, No. 4, 2005, pp. 1–6.
- [40] M. D’Ambros, M. Lanza, and M. Lungu, “The evolution radar: visualizing integrated logical coupling information,” in MSR, S. Diehl, H. Gall, and A. E. Hassan, Eds. ACM, 2006, pp. 26–32.
- [41] M. Ogawa and K.-L. Ma, “code_swarm: A design study in organic software visualization,”IEEE Trans. Vis. Comput. Graph., Vol. 15, No. 6, 2009, pp. 1097–1104.
- [42] K.-L. Ma, “Stargate: A unified, interactive visualization of software projects,” in PacificVis, IEEE Computer Society Washington, DC, USA. IEEE, 2008, pp. 191–198.
- [43] F. Abreu and R. Carapuça, “Object-oriented software engineering: Measuring and controlling the development process,” in Proceedings of the 4th International Conference on Software Quality, 1994.
- [44] J. M. Roche, “Software metrics and measurement principles,” SIGSOFT Softw. Eng. Notes,Vol. 19, January 1994, pp. 77–85. [Online]. http://doi.acm.org/10.1145/181610.181625
- [45] S. R. Chidamber and C. F. Kemerer, “A metrics suite for object oriented design,” IEEE Transactions on Software Engineering, Vol. 20, June 1994, pp. 476–493. [Online]. http://portal.acm.org/citation.cfm?id=630808.631131
- [46] V. Markovets, R. Dabrowski, G. Timoszuk, and K. Stencel, “Know thy source code: Is it mostly dead or alive?” in BCI (Local), ser. CEUR Workshop Proceedings, C. K. Georgiadis, P. Kefalas, and D. Stamatis, Eds., Vol. 1036. CEUR-WS.org, 2013, pp. 128–131.
- [47] S. Brin and L. Page, “The anatomy of a large-scale hypertextual web search engine,”Computer Networks, Vol. 30, No. 1-7, 1998, pp.107–117.
- [48] T. J. McCabe, “A complexity measure,” IEEE Trans. Software Eng., Vol. 2, No. 4, 1976, pp. 308–320.
Typ dokumentu
Bibliografia
Identyfikator YADDA
bwmeta1.element.baztech-cebdd07c-4afc-49f5-92c1-601239606f1f