{"title":"使用增广矩阵可视化的轻量级软件逆向工程","authors":"Bradley Wehrwein","doi":"10.1109/VISSOFT.2013.6650541","DOIUrl":null,"url":null,"abstract":"Empirical studies show that understanding existing software is a cost driver in maintenance activities and throughout the software development lifecycle. Presenting large software systems visually to support reverse engineering requires having the right summary to convey the important details. An experienced engineer knows the important details and can customize the view accordingly. In a reverse engineering context without this upfront knowledge and experience, any derived insights are strongly dependent on the (perhaps incorrectly) chosen view. We propose a lightweight visual approach to reverse engineering that supports users in interactively extracting high-level information from software at large scales with little or no upfront system knowledge. To support this we provide a matrix-based visualization method capable of displaying full systems in space-constrained views. The view visually emphasizes high level structural properties and employs a novel dependency display method to summarize and aggregate dependencies as the view changes, eliminating the need for user-directed aggregation decisions. We describe the visualization concept and a prototype tool that supports it, provide an example from the Apache HttpComponents Client open source project, and offer some areas of future work.","PeriodicalId":392495,"journal":{"name":"2013 First IEEE Working Conference on Software Visualization (VISSOFT)","volume":"437 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2013-09-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"3","resultStr":"{\"title\":\"Lightweight software reverse engineering using augmented matrix visualizations\",\"authors\":\"Bradley Wehrwein\",\"doi\":\"10.1109/VISSOFT.2013.6650541\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"Empirical studies show that understanding existing software is a cost driver in maintenance activities and throughout the software development lifecycle. Presenting large software systems visually to support reverse engineering requires having the right summary to convey the important details. An experienced engineer knows the important details and can customize the view accordingly. In a reverse engineering context without this upfront knowledge and experience, any derived insights are strongly dependent on the (perhaps incorrectly) chosen view. We propose a lightweight visual approach to reverse engineering that supports users in interactively extracting high-level information from software at large scales with little or no upfront system knowledge. To support this we provide a matrix-based visualization method capable of displaying full systems in space-constrained views. The view visually emphasizes high level structural properties and employs a novel dependency display method to summarize and aggregate dependencies as the view changes, eliminating the need for user-directed aggregation decisions. We describe the visualization concept and a prototype tool that supports it, provide an example from the Apache HttpComponents Client open source project, and offer some areas of future work.\",\"PeriodicalId\":392495,\"journal\":{\"name\":\"2013 First IEEE Working Conference on Software Visualization (VISSOFT)\",\"volume\":\"437 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2013-09-01\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"3\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"2013 First IEEE Working Conference on Software Visualization (VISSOFT)\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1109/VISSOFT.2013.6650541\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"2013 First IEEE Working Conference on Software Visualization (VISSOFT)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/VISSOFT.2013.6650541","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
Lightweight software reverse engineering using augmented matrix visualizations
Empirical studies show that understanding existing software is a cost driver in maintenance activities and throughout the software development lifecycle. Presenting large software systems visually to support reverse engineering requires having the right summary to convey the important details. An experienced engineer knows the important details and can customize the view accordingly. In a reverse engineering context without this upfront knowledge and experience, any derived insights are strongly dependent on the (perhaps incorrectly) chosen view. We propose a lightweight visual approach to reverse engineering that supports users in interactively extracting high-level information from software at large scales with little or no upfront system knowledge. To support this we provide a matrix-based visualization method capable of displaying full systems in space-constrained views. The view visually emphasizes high level structural properties and employs a novel dependency display method to summarize and aggregate dependencies as the view changes, eliminating the need for user-directed aggregation decisions. We describe the visualization concept and a prototype tool that supports it, provide an example from the Apache HttpComponents Client open source project, and offer some areas of future work.