{"title":"Developing an approach for the recovery of distributed software architectures","authors":"N. Mendonça, J. Kramer","doi":"10.1109/WPC.1998.693279","DOIUrl":"https://doi.org/10.1109/WPC.1998.693279","url":null,"abstract":"The extraction of high-level architectural information from existing software systems, or architecture recovery, is a recent research area. This paper presents X-RAY, an approach for recovering distributed software architectures. X-RAY builds on previous work on architecture recovery and more traditional reverse engineering techniques, as well as on notations for architecture description. The key features of the approach are illustrated through the depiction of a step-by-step recovery experiment performed on a small yet non-trivial distributed software system. Initial results from an ongoing experiment involving a larger-scale system are also discussed.","PeriodicalId":398816,"journal":{"name":"Proceedings. 6th International Workshop on Program Comprehension. IWPC'98 (Cat. No.98TB100242)","volume":"4 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1998-06-24","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126138225","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Decomposing legacy programs: a first step towards migrating to client-server platforms","authors":"G. Canfora, A. Cimitile, A. D. Lucia, G. D. Lucca","doi":"10.1109/WPC.1998.693336","DOIUrl":"https://doi.org/10.1109/WPC.1998.693336","url":null,"abstract":"We propose an approach to program decomposition as a preliminary step for the migration of legacy systems. A program slicing algorithm is defined to identify the statements implementing the user interface component. An interactive re-engineering tool is also presented that supports the software engineer in the comprehension of the source code during the decomposition of a program. The focus of this paper is on the partition of a legacy system, while issues related to the re-engineering, encapsulation, and wrapping of the legacy components and to the definition of the middleware layer through which they communicate are not tackled.","PeriodicalId":398816,"journal":{"name":"Proceedings. 6th International Workshop on Program Comprehension. IWPC'98 (Cat. No.98TB100242)","volume":"7 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1998-06-24","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"114962968","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
B. D. Martino, A. Mazzeo, N. Mazzocca, Umberto Villano
{"title":"Automatic detection of interaction patterns for parallel program analysis and development","authors":"B. D. Martino, A. Mazzeo, N. Mazzocca, Umberto Villano","doi":"10.1109/WPC.1998.693361","DOIUrl":"https://doi.org/10.1109/WPC.1998.693361","url":null,"abstract":"The parallel structure of most programs can be classified into a limited number of Parallel Programming Paradigms, that can be viewed as representative of the basic ways to organize a parallel computation. Interaction Paradigms or patterns describe how the communication and synchronization among the parallel components is structured. In this paper we present an approach and a prototyped implementation, for the analysis of parallel programs, based on the automatic and static detection of interaction patterns among the processes of message passing programs.","PeriodicalId":398816,"journal":{"name":"Proceedings. 6th International Workshop on Program Comprehension. IWPC'98 (Cat. No.98TB100242)","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1998-06-24","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129732198","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Partial comprehension of complex programs (enough to perform maintenance)","authors":"Katalin Erdös, H. Sneed","doi":"10.1109/WPC.1998.693322","DOIUrl":"https://doi.org/10.1109/WPC.1998.693322","url":null,"abstract":"Many legacy programs are so large and so complex that they cannot be comprehended in their entirety no matter what forms of representation are used. Yet these programs must be maintained. The contention of this paper is that it is not necessary to comprehend a program in order to maintain it. It is only necessary to comprehend those sectors affected by the maintenance request. Only seven questions are required to pinpoint and comprehend program sectors well enough to be able to alter them without undesired side effects. These questions and their answers are proposed in the following paper.","PeriodicalId":398816,"journal":{"name":"Proceedings. 6th International Workshop on Program Comprehension. IWPC'98 (Cat. No.98TB100242)","volume":"97 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1998-06-24","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"114450609","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Visualising software in virtual reality","authors":"P. Young, M. Munro","doi":"10.1109/WPC.1998.693276","DOIUrl":"https://doi.org/10.1109/WPC.1998.693276","url":null,"abstract":"Software visualisations of one form or another appear in numerous software maintenance tools. Visualisation is arguably one of the most profitable means of communicating information to a user. As software systems become larger and more complex we find ourselves in greater need for techniques to visualise such large information structures. This paper concentrates on visualising software systems using 3D graphics and VR technology. The main concepts of 3D software visualisation are introduced as well as a set of desirable properties which act as both guidelines for designing a visualisation and also as a framework for evaluating existing visualisations. A prototype visualisation, FileVis, is described and evaluated against these desirable properties.","PeriodicalId":398816,"journal":{"name":"Proceedings. 6th International Workshop on Program Comprehension. IWPC'98 (Cat. No.98TB100242)","volume":"7 ","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1998-06-24","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"120993715","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Susan K. Burkwald, S. Eick, Kurt D. Rivard, John D. Pyrce
{"title":"Visualizing Year 2000 program changes","authors":"Susan K. Burkwald, S. Eick, Kurt D. Rivard, John D. Pyrce","doi":"10.1109/WPC.1998.693275","DOIUrl":"https://doi.org/10.1109/WPC.1998.693275","url":null,"abstract":"Within the information technology industry the Year 2000 problem involves identifying and repairing legacy programs that will fail at the millennium when the year transitions from 1999 to 2000. To help address this problem, we have developed a visual application that shows Y2K impact in COBOL programs. Using our software visualization approach, programmers assigned to the conversion can see Y2K impact on an entire code portfolio, by application, by subsystem, by program, and even by line of code. The insights gained from our Y2K views lead to more efficient conversion strategies and more effective progress tracking.","PeriodicalId":398816,"journal":{"name":"Proceedings. 6th International Workshop on Program Comprehension. IWPC'98 (Cat. No.98TB100242)","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1998-06-24","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125572483","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"DIME: a direct manipulation environment for evolutionary development of software","authors":"Arun Lakhotia","doi":"10.1109/WPC.1998.693289","DOIUrl":"https://doi.org/10.1109/WPC.1998.693289","url":null,"abstract":"This paper presents an overview of the DIME environment (DIrect Manipulation Environment) being developed by the author. The paper presents the DIME vision, its catalogue of evolutionary transformations-program transformations used by programmers during software maintenance-and scenarios of how they may be used by a programmer during software maintenance. The DIME system will provide for programmers what programmers provide for other computer users: a simple, intuitive, yet powerful way to transform data with the click of a mouse. It will place at the programmer's finger-tips-figuratively speaking-rigorous, formal transformations for creating, composing, analyzing, and modifying the architecture of a software system. Using DIME a programmer will radically overhaul the architecture of a software system just by point-and-click and drag-and-drop with the guarantee that the external behavior of the system is unchanged.","PeriodicalId":398816,"journal":{"name":"Proceedings. 6th International Workshop on Program Comprehension. IWPC'98 (Cat. No.98TB100242)","volume":"2 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1998-06-24","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130425739","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Archetypal source code searches: a survey of software developers and maintainers","authors":"S. Sim, C. Clarke, R. Holt","doi":"10.1109/WPC.1998.693351","DOIUrl":"https://doi.org/10.1109/WPC.1998.693351","url":null,"abstract":"We have conducted a survey to generate archetypes of source code searching by programmers across maintenance tasks. Using a questionnaire on a web page, we obtained 69 responses from readers of 7 newsgroups. Respondents were asked about their source code searching habits: what tools they used, why they searched, and what they searched for. The four most common search targets were function definitions, all uses of a function, variable definitions, and all uses of a variable. The most common search motivations were defect repair, code reuse, program understanding, feature addition, and impact analysis. Eleven archetypes were generated from the anecdotes and results. The implications and practical applications of these findings and method are discussed.","PeriodicalId":398816,"journal":{"name":"Proceedings. 6th International Workshop on Program Comprehension. IWPC'98 (Cat. No.98TB100242)","volume":"71 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1998-06-24","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131681301","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Studying work practices to assist tool design in software engineering","authors":"J. Singer, T. Lethbridge","doi":"10.1109/WPC.1998.693348","DOIUrl":"https://doi.org/10.1109/WPC.1998.693348","url":null,"abstract":"This paper reports our experiences studying the work practices of professional software engineers (SEs). We provide our reasons for following this approach, and describe details such as the discovery of work patterns, and the use of synchronized shadowing. We outline several studies we are currently conducting in a large telecommunications company and explain how these studies influenced the design of a software engineering exploration environment.","PeriodicalId":398816,"journal":{"name":"Proceedings. 6th International Workshop on Program Comprehension. IWPC'98 (Cat. No.98TB100242)","volume":"24 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1998-06-24","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129305143","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Design pattern recovery in object-oriented software","authors":"G. Antoniol, R. Fiutem, L. Cristoforetti","doi":"10.1109/WPC.1998.693342","DOIUrl":"https://doi.org/10.1109/WPC.1998.693342","url":null,"abstract":"An approach to recover object oriented design patterns from design and code is presented. The pattern recovery process is based on a multi-stage filtering strategy to avoid combinatorial explosion on large software systems. To maintain independence from the language and the case tools adopted in developing software, both design and code are mapped into an intermediate representation. The multi-stage searching strategy allows to safely determine pattern candidates. To assess the effectiveness of the pattern recovery process a portable environment written in Java has been developed. Based on this environment, experimental results on public domain and industrial software were obtained and are discussed in the paper. Evidence is shown that, by exploiting information about method calls as a further constraint beyond the structural ones, the number of false positives is reduced.","PeriodicalId":398816,"journal":{"name":"Proceedings. 6th International Workshop on Program Comprehension. IWPC'98 (Cat. No.98TB100242)","volume":"66 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1998-06-24","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126632828","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}