Software Evolution Visualization

Software Evolution Visualization

Software evolution visualization Citation for published version (APA): Voinea, S. L. (2007). Software evolution visualization. Technische Universiteit Eindhoven. https://doi.org/10.6100/IR629335 DOI: 10.6100/IR629335 Document status and date: Published: 01/01/2007 Document Version: Publisher’s PDF, also known as Version of Record (includes final page, issue and volume numbers) Please check the document version of this publication: • A submitted manuscript is the version of the article upon submission and before peer-review. There can be important differences between the submitted version and the official published version of record. People interested in the research are advised to contact the author for the final version of the publication, or visit the DOI to the publisher's website. • The final author version and the galley proof are versions of the publication after peer review. • The final published version features the final layout of the paper including the volume, issue and page numbers. Link to publication General rights Copyright and moral rights for the publications made accessible in the public portal are retained by the authors and/or other copyright owners and it is a condition of accessing publications that users recognise and abide by the legal requirements associated with these rights. • Users may download and print one copy of any publication from the public portal for the purpose of private study or research. • You may not further distribute the material or use it for any profit-making activity or commercial gain • You may freely distribute the URL identifying the publication in the public portal. If the publication is distributed under the terms of Article 25fa of the Dutch Copyright Act, indicated by the “Taverne” license above, please follow below link for the End User Agreement: www.tue.nl/taverne Take down policy If you believe that this document breaches copyright please contact us at: [email protected] providing details and we will investigate your claim. Download date: 06. Oct. 2021 Software Evolution Visualization PROEFSCHRIFT ter verkrijging van de graad van doctor aan de Technische Universiteit Eindhoven, op gezag van de Rector Magnificus, prof.dr.ir. C.J. van Duijn, voor een commissie aangewezen door het College voor Promoties in het openbaar te verdedigen op maandag 1 oktober 2007 om 16.00 uur door Stefan-Lucian Voinea geboren te Constanta, Roemeni¨e Dit proefschrift is goedgekeurd door de promotor: prof.dr.ir. J.J. van Wijk Copromotoren: dr.ir. A.C. Telea en dr. J.J. Lukkien CIP-DATA LIBRARY TECHNISCHE UNIVERSITEIT EINDHOVEN Voinea, Stefan-Lucian Software Evolution Visualization / door Stefan-Lucian Voinea. - Eindhoven : Technische Universiteit Eindhoven, 2007. Proefschrift. - ISBN 978-90-386-1099-3 NUR 992 Subject headings: computer visualisation / software maintenance / image communication CR Subject Classification (1998) : I.3.8, D.2.7, H.3.3 Promotor: prof. dr. ir. J.J. van Wijk (Technische Universiteit Eindhoven) Copromotoren: dr. ir. A.C. Telea (Technische Universiteit Eindhoven) dr. J.J. Lukkien (Technische Universiteit Eindhoven) Kerncommissie: prof. dr. S. Diehl (Universit¨at Trier) prof. dr. A. van Deursen (Delft University of Technology) prof. dr. M.G.J. van den Brand (Technische Universiteit Eindhoven) Advanced School for Computing and Imaging The work in this thesis has been carried out in the research school ASCI (Advanced School for Computing and Imaging). ASCI dissertation series number: 149 c S.L. Voinea 2007. All rights are reserved. Reproduction in whole or in part is allowed only with the written consent of the copyright owner. Printing: Eindhoven University Press Cover design: S.L. Voinea Front cover image: “Binary code” c Andrey Prokhorov Back cover image: “Cyber business” c Emrah T¨ur¨ud¨u Contents 1 Introduction 1 1.1 TheSoftwareChallenge .......................... 1 1.2 SoftwareVisualization . 2 1.3 SoftwareEvolutionVisualization . .... 5 1.4 Outline ................................... 7 2 Background 9 2.1 Introduction................................. 9 2.2 DataExtraction ............................... 12 2.3 ReverseEngineering ............................ 13 2.4 EvolutionAnalysis ............................. 15 2.4.1 Requirements............................ 16 2.4.2 EvolutionDataAnalysisTools . 16 2.4.3 EvolutionVisualizationTools . 18 2.5 Conclusions................................. 23 3 Software Evolution Domain Analysis 27 3.1 Introduction................................. 27 3.2 SystemEvolution .............................. 28 3.3 SoftwareEvolution ............................. 33 3.4 SoftwareRepositories. 36 3.4.1 CVS................................. 36 3.4.2 Subversion ............................. 40 3.5 Conclusions................................. 40 v vi 4 A Visualization Model for Software Evolution 43 4.1 Introduction................................. 43 4.2 SoftwareVisualizationPipeline. .... 45 4.3 DataAcquisition .............................. 46 4.4 DataFilteringandEnhancement . 47 4.4.1 Selection .............................. 48 4.4.2 Metrics ............................... 49 4.4.3 Clustering.............................. 50 4.5 DataLayout................................. 51 4.6 DataMapping................................ 52 4.7 Rendering.................................. 53 4.8 UserInteraction............................... 54 4.9 Conclusions................................. 55 5 Visualizing Software Evolution at Line Level 57 5.1 Introduction................................. 57 5.2 DataModel ................................. 58 5.3 VisualizationModel............................. 62 5.3.1 LayoutandMapping . 62 5.3.2 MultipleViews ........................... 67 5.3.3 VisualImprovements. 69 5.3.4 UserInteraction.. .... .... .... .... ... .... .. 70 5.4 Use-CasesandValidation. 73 5.5 Conclusions................................. 76 6 Visualizing Software Evolution at File Level 79 6.1 Introduction................................. 79 6.2 DataModel ................................. 80 6.3 VisualizationModel............................. 80 6.3.1 LayoutandMapping . 81 6.3.2 MetricViews ............................ 86 6.3.3 MultivariateVisualization . 87 6.3.4 MultiscaleVisualization . 92 vii 6.3.5 UserInteraction.. .... .... ... .... .... .... .. 97 6.4 Use-CasesandValidation. 98 6.4.1 InsightwithDynamicLayouts . 98 6.4.2 ComplexQueries. 100 6.4.3 SystemDecomposition. 101 6.5 Conclusions................................. 103 7 Visualizing Software Evolution at System Level 105 7.1 Introduction................................. 105 7.2 DataModel .................................106 7.2.1 DataSampling ........................... 107 7.3 VisualizationModel.... .... .... ... .... .... .... .. 109 7.3.1 LayoutandMapping . 109 7.3.2 VisualScalability. 111 7.3.3 UserInteraction. 115 7.4 Use-CasesandValidation. 117 7.5 Conclusions................................. 122 8 Visualizing Data Exchange in Peer-to-Peer Networks 125 8.1 Introduction................................. 125 8.2 ProblemDescription ... .... .... ... .... .... .... .. 126 8.3 DataModel .................................128 8.4 VisualizationModel.... .... .... ... .... .... .... .. 130 8.4.1 ServerVisualization . 131 8.4.2 DownloadVisualization . 136 8.4.3 CorrelationVisualization. 137 8.5 Use-CasesandValidation. 139 8.6 Conclusions................................. 141 9 Lessons Learned 143 9.1 DataAcquisitionandPreprocessing . 143 9.2 SoftwareEvolutionVisualization . 144 9.3 Evaluation.................................. 147 viii 10 Conclusions 149 10.1 OnDataPreprocessing . 149 10.2 OnSoftwareEvolutionVisualization . ... .. 150 10.3 OnEvaluation................................ 150 10.4FutureWork................................. 151 Bibliography 155 List of Publications 165 Summary 169 Acknowledgements 171 Chapter 1 Introduction In this chapter we identify complexity and change as two major issues of the software industry and we introduce software evolution visualization as a promising approach for addressing them. We present the target audience of this type of visualization, the questions it tries to answer and the challenges it poses. Finding ways to design effective and efficient visualizations of software evolution is our goal and the focus of this thesis. 1.1 The Software Challenge Software has today a large penetration in all aspects of society. According to Bjarne Stroustrup, the creator of the highly popular programming language C++, “Our civilization runs on software” (Bjarne Stroustrup, 2003). This penetration took place rapidly in the last two decades and continues to increase at a steady pace. However, the software industry is confronted with two increasingly serious problems. The first problem of the software industry concerns the complexity of software. While a mid-size software application twenty years ago had a few thousands or tens of thou- sands of lines of code, mid-size applications nowadays have tens of millions of lines of code. Even relatively simple applications, such as the familiar Microsoft Windows Paint program, consist of tens of thousands of lines of code, spread over hundreds of files, de- veloped by tens of people over many years. These figures are orders of magnitude larger for banking, telecom, or industrial applications. Software code can be structured in many ways, e.g., as a file hierarchy; as a network of components, functions, or packages; or as a set of design patterns [49] or aspects [38, 57]. No single hierarchy suffices for under- standing software, and the inter-hierarchy

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    182 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us