{"title":"Generic invariant-based static analysis tool for detection of runtime errors in Java programs","authors":"Sotiris Skevoulis, Xiaoping Jia","doi":"10.1109/TOOLS.2000.891356","DOIUrl":"https://doi.org/10.1109/TOOLS.2000.891356","url":null,"abstract":"The paper presents an invariant-based generic tool to statically analyze Java programs in order to detect potential errors (bugs). We briefly discuss the supporting theoretical framework and highlight the results of the tool. It can automatically detect potential bugs such as illegal dereference and array bounds and report them before the program is executed. For a Java class, invariants related to the category of error under examination are automatically generated and used to assess the validity of variable usage in the implementation of this class. The tool provides a practical and extensible generic mechanism for error detection to help industry practitioners who work with an object oriented language such as Java. The presented mechanism is capable of addressing error detection for a variety of error categories that cannot be caught by flow-based static analysis tools.","PeriodicalId":198043,"journal":{"name":"Proceedings 37th International Conference on Technology of Object-Oriented Languages and Systems. TOOLS-Pacific 2000","volume":"63 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2000-11-20","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128406976","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":"Symbol table construction and name lookup in ISO C++","authors":"James F. Power, B. Malloy","doi":"10.1109/TOOLS.2000.891358","DOIUrl":"https://doi.org/10.1109/TOOLS.2000.891358","url":null,"abstract":"The authors present an object oriented model of symbol table construction and name lookup for ISO C++ using the Unified Modeling Language (UML). Our use of UML class, activity and sequence diagrams serves to explicate our model and our use of patterns such as decorator and facade increase the understandability of the model. Clause three of the ISO C++ standard describes the procedures and rules for performing name lookup; our activity and sequence diagrams serve to simulate these procedures in graphical fashion. An advantage of our approach is that our model can increase C++ understandability for those practitioners with a working UML knowledge. An important contribution of our work is that our model forms the basis for construction of a parser front-end for ISO C++. Our explication of the name lookup problem represents a necessary first step in this construction and our component approach is independent of the compiler technology utilized. Our use of the UML in describing parser driven applications demonstrates how front-end development can be integrated into an object oriented framework. Construction of an ISO C++ front-end will help to increase the collection of tools for applications that use this popular language.","PeriodicalId":198043,"journal":{"name":"Proceedings 37th International Conference on Technology of Object-Oriented Languages and Systems. TOOLS-Pacific 2000","volume":"38 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2000-11-20","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130058222","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":"Problem frames and object-oriented software architecture","authors":"P. Taylor","doi":"10.1109/TOOLS.2000.891359","DOIUrl":"https://doi.org/10.1109/TOOLS.2000.891359","url":null,"abstract":"The paper attempts to marry object oriented software architecture with M. Jackson's (1995) \"problem frames\". Jackson's problem frames follow from his perception that many systemic problems in modern software development can be addressed by a greater problem space orientation during system specification and analysis, and a clearer separation of problem and solution space concerns during design and implementation. The author attempts an experimental union of problem space and object oriented architecture by adopting Jackson's generic problem structural patterns, problem frames, as the principal structural driver of an object oriented architecture. Problem frames bring with them a detailed method for solving problems of the corresponding class; the paper extends one problem frame's method to include a basic object oriented framework to provide a reference software architecture. The problem frame's reference architecture is evaluated by applying it to the design of a typical business component. The characteristics of the resultant architecture are then evaluated.","PeriodicalId":198043,"journal":{"name":"Proceedings 37th International Conference on Technology of Object-Oriented Languages and Systems. TOOLS-Pacific 2000","volume":"10 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2000-11-20","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130468824","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":"A model for the migration to object-oriented software development with special emphasis on improvement of acceptance","authors":"D. Auer, Heinz Dobler","doi":"10.1109/TOOLS.2000.891364","DOIUrl":"https://doi.org/10.1109/TOOLS.2000.891364","url":null,"abstract":"Object oriented technology has been established as an important new paradigm in software development. Thus, many organizations involved in any kind of software production plan to migrate to object oriented technology or have already started this process. Besides several successful migrations, many failures occur. In order to reduce the risk of failure during the migration process, we developed a migration model based on an empirical study. The application of this model leads to a better understanding of the migration process and supports its planning, designing and implementation, putting special emphasis on improvement of acceptance. The theoretical foundations of our migration model come from technology management, organizational research (i.e. change management, and organizational roles), as well as existing approaches and models for this kind of migration. Our migration model consists of three main parts: the migration process model, the definition of organizational roles, and the use of acceptance strategies such as information and communication, participation, and further education. The main results concerning the rise of acceptance strategies, based on the results of the empirical study, are presented.","PeriodicalId":198043,"journal":{"name":"Proceedings 37th International Conference on Technology of Object-Oriented Languages and Systems. TOOLS-Pacific 2000","volume":"36 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2000-11-20","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"122572837","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":"A set approach to role modeling","authors":"Luong T. Nguyen, Liping Zhao, B. Appelbe","doi":"10.1109/TOOLS.2000.891366","DOIUrl":"https://doi.org/10.1109/TOOLS.2000.891366","url":null,"abstract":"Most existing role modeling techniques use graphic notations for role description. There are a number of shortcomings with the graphic notations. First, they are ambiguous. Second they cannot effectively represent dynamic aspects of roles. The paper reports our initial effort on a formal notation for role description and modeling. The notation is based on the set operations. By using the set approach, role binding or unbinding to or from an object can be specified unambiguously by set union and set difference. We can also specify role constraints so that roles can be bound or unbound sequentially, alternatively, repeatedly, or simultaneously. Similarly, roles of roles can be specified by set inclusion in relation to a new context. Role specialisation or generalisation can be described by set intersection of roles. Role compositions can be specified as set unions of part roles. In addition to the set notation, we have also adapted the formal method EMS to support static and dynamic description of roles. First, all class/role relationships are captured step by step. Second, all class/role structures are described by an Object-Z-like notation, class by class and role by role. Third, all system obligations are specified using Petri net transitions, where pre and post conditions of transactions are expressed formally. Lastly, services and communications required for the objects/role instances involved in the system operations are described.","PeriodicalId":198043,"journal":{"name":"Proceedings 37th International Conference on Technology of Object-Oriented Languages and Systems. TOOLS-Pacific 2000","volume":"37 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2000-11-20","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131882489","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":"Tool support for systematic class identification in object-oriented software architectures","authors":"K. S. Barber, T. Graser","doi":"10.1109/TOOLS.2000.891360","DOIUrl":"https://doi.org/10.1109/TOOLS.2000.891360","url":null,"abstract":"Software architectures have received considerable attention in both research and practice for representing system stakeholder concerns, and many researchers have leveraged object oriented models and methods for software architecture representation and evaluation. While the benefits associated with object oriented approaches are closely aligned with desirable qualities for software architectures (e.g., reusability, extensibility, comprehensibility, performance), these benefits are only realized through rational decision making by the analyst when identifying object oriented classes from a requirements specification. Traditionally, the class identification process has been somewhat subjective, with different analysts often arriving at completely different class models from the same requirements specification. Since this subjectivity does not lend itself to automation, little tool support is available for identifying object oriented classes and their relationships. The paper describes a tool under development, Reference Architecture Representation Environment (RARE), designed to systematically guide the analyst through class identification by applying heuristics associated with quality attributes and evaluating the resulting architecture based on relevant static metrics. RARE helps address a number of challenges typically faced during the class identification process, including: (1) developing an architecture that reflects the quality attributes prioritized by the analyst, (2) managing inherent conflicts between selected attributes, and (3) capturing analyst expertise and rationale for use by others.","PeriodicalId":198043,"journal":{"name":"Proceedings 37th International Conference on Technology of Object-Oriented Languages and Systems. TOOLS-Pacific 2000","volume":"27 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2000-11-20","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129350264","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":"A case study of framework design for horizontal reuse","authors":"H. Christensen, Hebrick Røn","doi":"10.1109/TOOLS.2000.891376","DOIUrl":"https://doi.org/10.1109/TOOLS.2000.891376","url":null,"abstract":"In this experience report, we present a case study in designing, implementing and reusing an object-oriented framework for constructing and editing complex search expressions over arbitrary data domains. We present a framework design that achieves a large degree of business domain decoupling through the application of design patterns. We outline the reuse process and analyse and classify the problems encountered during the first-instance framework reuse. The major lessons learned are: (1) that, while design patterns are well-known for providing decoupling solutions at the code level, the lack of similar decoupling techniques at the non-code level may give rise to technical mismatch problems between the framework and the client systems; (2) that such technical mismatch problems can be costly; and (3) that a reusable framework may beneficially provide a solution template when it cannot provide actual functionality.","PeriodicalId":198043,"journal":{"name":"Proceedings 37th International Conference on Technology of Object-Oriented Languages and Systems. TOOLS-Pacific 2000","volume":"2 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2000-11-20","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129070654","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}