{"title":"An architecture for heterogeneous groupware applications","authors":"I. Marsic","doi":"10.1109/ICSE.2001.919120","DOIUrl":"https://doi.org/10.1109/ICSE.2001.919120","url":null,"abstract":"The proliferation of wireless networks and small portable computing devices raises the need for applications that are adaptable to heterogeneous computing and communication environments and the contexts in which they are used. However, most current groupware systems as well as other software applications are not well prepared to handle the heterogeneity. The Manifold framework presented provides a software architecture for synchronous groupware applications to deal with heterogeneity. The framework's main characteristic is data centricity. The users collaborate on and exchange data, and the data is dynamically transformed to adapt to the particular computing/network platform. The design is based on a multi-tier architecture and uses eXtensible Markup Language (XML) as a generic means for information exchange. The resulting design is simple yet very powerful and scalable. Manifold is implemented and tested by developing several complex groupware applications.","PeriodicalId":374824,"journal":{"name":"Proceedings of the 23rd International Conference on Software Engineering. ICSE 2001","volume":"21 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2001-07-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"134270496","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}
Johannes Koskinen, J. Peltonen, Petri Selonen, Tarja Systä, K. Koskimies
{"title":"Model processing tools in UML","authors":"Johannes Koskinen, J. Peltonen, Petri Selonen, Tarja Systä, K. Koskimies","doi":"10.1109/ICSE.2001.919189","DOIUrl":"https://doi.org/10.1109/ICSE.2001.919189","url":null,"abstract":"The Unified Modeling Language (UML) provides several diagram types, viewing a system from different perspectives. In this research, we exploit the logical relationships between different UML models. We propose operations to compare, merge, slice and synthesize UML diagrams based on these relationships. In a formal demonstration, we show how statechart diagrams can be synthesized semi-automatically from a set of sequence diagrams using an interactive algorithm called MAS. We also demonstrate how a class diagram, annotated with pseudocode presentations of key operations, can be synthesized from sequence diagrams, and how class diagrams and sequence diagrams can be sliced against each other.","PeriodicalId":374824,"journal":{"name":"Proceedings of the 23rd International Conference on Software Engineering. ICSE 2001","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2001-07-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128937549","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":"Functional paleontology: system evolution as the user sees it","authors":"A. Antón, C. Potts","doi":"10.1109/ICSE.2001.919115","DOIUrl":"https://doi.org/10.1109/ICSE.2001.919115","url":null,"abstract":"It has long been accepted that requirements analysis should precede architectural design and implementation, but in software evolution and reverse engineering this concern with black-box analysis of function has necessarily been de-emphasized in favor of code-based analysis and designer-oriented interpretation. We redress this balance by describing 'functional paleontology': an approach to analyzing the evolution of user-visible features or services independent of architecture and design intent. We classify the benefits and burdens of interpersonal communication services into core and peripheral categories and investigate the telephony services available to domestic subscribers over a fifty-year period. We report that services were introduced in discrete bursts, each of which emphasized different benefits and burdens. We discuss the general patterns of functional evolution that this \"fossil record\" illustrates and conclude by discussing their implications for forward engineering of software products.","PeriodicalId":374824,"journal":{"name":"Proceedings of the 23rd International Conference on Software Engineering. ICSE 2001","volume":"55 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2001-07-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"132102948","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":"Evaluating the accuracy of defect estimation models based on inspection data from two inspection cycles","authors":"S. Biffl, W. Grossmann","doi":"10.1109/ICSE.2001.919089","DOIUrl":"https://doi.org/10.1109/ICSE.2001.919089","url":null,"abstract":"Defect content estimation techniques (DCETs), based on defect data from inspection, estimate the total number of defects in a document to evaluate the development process. For inspections that yield few data points DCETs reportedly underestimate the number of defects. If there is a second inspection cycle, the additional defect data is expected to increase estimation accuracy. In this paper we consider 3 scenarios to combine data sets from the inspection-reinspection process. We evaluate these approaches with data from an experiment in a university environment where 31 teams inspected and reinspected a software requirements document. Main findings of the experiment were that reinspection data improved estimation accuracy. With the best combination approach all examined estimators yielded on average estimates within 20% around the true value, all estimates stayed within 40% around the true value.","PeriodicalId":374824,"journal":{"name":"Proceedings of the 23rd International Conference on Software Engineering. ICSE 2001","volume":"40 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2001-07-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127066344","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}
M. Hakala, Juha Hautamäki, K. Koskimies, J. Paakki, Antti Viljamaa, J. Viljamaa
{"title":"Architecture-oriented programming using FRIED","authors":"M. Hakala, Juha Hautamäki, K. Koskimies, J. Paakki, Antti Viljamaa, J. Viljamaa","doi":"10.1109/ICSE.2001.919191","DOIUrl":"https://doi.org/10.1109/ICSE.2001.919191","url":null,"abstract":"Implementing application-specific code conforming to architectural rules and conventions can be tedious. We will demonstrate a tool prototype for architecture-oriented programming that takes an architectural description as a set of programming patterns and provides an interactive task-based programming environment for the architecture. Incorporating adaptive code generation and documentation, the tool provides a convenient way to adopt as well as effectively reuse a framework or architectural standard such as Java Beans.","PeriodicalId":374824,"journal":{"name":"Proceedings of the 23rd International Conference on Software Engineering. ICSE 2001","volume":"22 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2001-07-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"114984195","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":"Educating software engineering students to manage risk","authors":"B. Boehm, D. Port","doi":"10.1109/ICSE.2001.919133","DOIUrl":"https://doi.org/10.1109/ICSE.2001.919133","url":null,"abstract":"In 1996, the University of Southern California (USC) switched its core two-semester software engineering course from a hypothetical-project, homework-and-exam course based on the Bloom taxonomy of educational objectives (knowledge, comprehension, application, analysis, synthesis and evaluation). The revised course is a real-client team-project course based on the CRESST (Center for Research on Evaluation, Standards and Student Testing) model of learning objectives (content understanding, problem solving, collaboration, communication and self-regulation). We used the CRESST cognitive demands analysis to determine the necessary student skills required for software risk management and the other major project activities, and have been refining the approach over the last four years of experience, including revised versions for one-semester undergraduate and graduate project courses at Columbia University. This paper summarizes our experiences in evolving the risk management aspects of the project courses. These have helped us mature more general techniques, such as risk-driven specifications, domain-specific simplifier and complicator lists, and the SAIV (schedule as an independent variable) process model. The largely positive results in terms of review pass/fail rates, client evaluations, product adoption rates and hiring manager feedback are summarized as well.","PeriodicalId":374824,"journal":{"name":"Proceedings of the 23rd International Conference on Software Engineering. ICSE 2001","volume":"94 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2001-07-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128350446","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}
C. Ebert, C. Parro, Roland Suttels, Harald Kolarczyk
{"title":"Improving validation activities in a global software development","authors":"C. Ebert, C. Parro, Roland Suttels, Harald Kolarczyk","doi":"10.1109/ICSE.2001.919129","DOIUrl":"https://doi.org/10.1109/ICSE.2001.919129","url":null,"abstract":"Global software development challenges traditional techniques of software engineering, such as peer reviews or teamwork. Effective teamwork and coaching of engineers contribute highly towards successful projects. In this case study, we evaluate experiences with validation activities in a global setting within Alcatel's switching and routing business. We investigate three hypotheses related to the effects of (a) collocated inspections, (b) intensive coaching and (c) feature-oriented development teams on globally distributed projects. As all these activities mean an initial investment compared to a standard process with scattered activities, the major validation criteria for the three hypotheses are: (1) cost reduction due to earlier defect detection and (2) less defects introduced. The data is taken from a sample of over 60 international projects of various sizes, from which we have collected all types of product and process metrics over the past four years.","PeriodicalId":374824,"journal":{"name":"Proceedings of the 23rd International Conference on Software Engineering. ICSE 2001","volume":"201 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2001-07-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131734335","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":"Babel: representing business rules in XML for application integration","authors":"Huaxin Zhang, Eleni Stroulia","doi":"10.1109/ICSE.2001.919195","DOIUrl":"https://doi.org/10.1109/ICSE.2001.919195","url":null,"abstract":"In this paper, we discuss Babel, a prototype tool for integrating multiple heterogeneous applications, by wrapping them and by specifying the logic of their interoperation in XML.","PeriodicalId":374824,"journal":{"name":"Proceedings of the 23rd International Conference on Software Engineering. ICSE 2001","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2001-07-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126214670","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}
Toshihiro Kamiya, Fumiaki Ohata, Kazuhiro Kondou, S. Kusumoto, Katsuro Inoue
{"title":"Maintenance support tools for Java programs: CCFinder and JAAT","authors":"Toshihiro Kamiya, Fumiaki Ohata, Kazuhiro Kondou, S. Kusumoto, Katsuro Inoue","doi":"10.1109/ICSE.2001.919197","DOIUrl":"https://doi.org/10.1109/ICSE.2001.919197","url":null,"abstract":"This paper describes two software maintenance support tools, CCFinder (Code Clone Finder) and JAAT (Java Alias Analysis Tool), for Java programs. CCFinder identifies code clones in Java programs, while JAAT executes alias analysis for Java programs.","PeriodicalId":374824,"journal":{"name":"Proceedings of the 23rd International Conference on Software Engineering. ICSE 2001","volume":"118 39","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2001-07-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"113944715","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":"Finding failures by cluster analysis of execution profiles","authors":"William Dickinson, David Leon, Andy Podgurski","doi":"10.1109/ICSE.2001.919107","DOIUrl":"https://doi.org/10.1109/ICSE.2001.919107","url":null,"abstract":"We experimentally evaluate the effectiveness of using cluster analysis of execution profiles to find failures among the executions induced by a set of potential test cases. We compare several filtering procedures for selecting executions to evaluate for conformance to requirements. Each filtering procedure involves a choice of a sampling strategy and a clustering metric. The results suggest that filtering procedures based on clustering are more effective than simple random sampling for identifying failures in populations of operational executions, with adaptive sampling from clusters being the most effective sampling strategy. The results also suggest that clustering metrics that give extra weight to industrial profile features are most effective. Scatter plots of execution populations, produced by multidimensional scaling, are used to provide intuition for these results.","PeriodicalId":374824,"journal":{"name":"Proceedings of the 23rd International Conference on Software Engineering. ICSE 2001","volume":"11 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2001-07-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"124927678","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}