{"title":"Experiences adopting software product line development without a product line architecture","authors":"M. Staples, Derrick Hill","doi":"10.1109/APSEC.2004.50","DOIUrl":"https://doi.org/10.1109/APSEC.2004.50","url":null,"abstract":"Many organizations used software product line development to improve development efficiency, time-to-market, and product quality. However, a perceived barrier to entry for product line development is that a product line architecture is required to handle variation across the product set. We describe qualitative evidence from industrial experiences with an approach that has allowed the adoption of product line development for a pre-existing product set, without the use of a product line architecture. The approach relies on file-level reuse and variation mechanisms provided by a configuration management infrastructure. The approach can reduce the risks and up-front costs of adopting product line development. Although not requiring a product line architecture, the approach is not inconsistent with architectural-level variation mechanisms. It has allowed previously-reported \"reactive? and \"proactive\" styles of architectural evolution to support variation, and also a new \"retroactive\" style of architectural evolution. Additionally, the approach has provided new options for \"working around\" change control conflicts on reused product line core assets.","PeriodicalId":213849,"journal":{"name":"11th Asia-Pacific Software Engineering Conference","volume":"67 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2004-11-30","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115290926","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 dual-mode exerciser for a collaborative computing environment","authors":"Chien-Min Wang, Shyh-Fong Hong, Shun-Te Wang, Hsi-Min Chen","doi":"10.1109/APSEC.2004.3","DOIUrl":"https://doi.org/10.1109/APSEC.2004.3","url":null,"abstract":"Computer-supported cooperative work (CSCW) supports groups with communication and coordination during the execution of their activities. It allows physically dispersed teams to engage in a common task by providing an interface to a shared workspace. A variety of synchronous applications are playing a major role in distance education, joint program development, cooperative publishing, etc. These applications are usually platform-dependent, groupware programmers have to develop new applications for each groupware platform. In this paper, we present a developing environment called CollabRunJava. Users can collaborate to design and process their job and can also develop groupware only concentrate on application-specific details on our system. CollabRunJava supports 2 modes for developing applications. In the instant-develop mode, user can immediately execute and test the classes. In the runtime-evolution mode, user can observe application behavior, debug applications and change the running applications codes without re-execution. Our system can be further enhanced by using plug-in components with the above mechanisms. For example, with the aid of visualization components, our system can help users explore program behavior. In addition, all these activities can be performed in a collaborative way. This makes it also helpful for distant learning and program testing.","PeriodicalId":213849,"journal":{"name":"11th Asia-Pacific Software Engineering Conference","volume":"58 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2004-11-30","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115982240","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 systematic method to instantiate core assets in product line engineering","authors":"Soo Dong Kim, Soo-Ho Chang, Chee-Won Chang","doi":"10.1109/APSEC.2004.12","DOIUrl":"https://doi.org/10.1109/APSEC.2004.12","url":null,"abstract":"Product line engineering (PLE) is one of the recent and effective reuse approaches, and it consists of two processes; framework engineering and application engineering. Framework engineering is to model and realize a core asset, which represents common functionality, and quality attributes in a target domain, and application engineering is to generate a target product by instantiating the core asset. Hence, a core asset is a key element of PLE, and the quality of core assets largely determines the overall quality of products. Although numerous PLE methodologies have been introduced, it is still unclear what should be the elements of a core asset and how the core asset should be instantiated for each application. That is, the overall process and instructions of instantiating core assets have not been studied enough. In this paper, we first define a meta model of core assets, propose a process of instantiation, and define its instructions on how to carry out each activity in practice. We believe that the proposed meta model and the process framework can effectively be used in developing core asset and applications in practice.","PeriodicalId":213849,"journal":{"name":"11th Asia-Pacific Software Engineering Conference","volume":"59 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2004-11-30","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"116572768","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 bindings of components - any harm?","authors":"J. Adámek, F. Plášil","doi":"10.1109/APSEC.2004.70","DOIUrl":"https://doi.org/10.1109/APSEC.2004.70","url":null,"abstract":"Reuse is one of the key benefits of components. It inherently means that the functionality of a component may be employed only partially. This triggers the issue whether all of the component's interfaces have to be really bound to the other components in its current environment (missing binding problem). Assuming each of the components is equipped by its behavior protocol (F. Plasil et al., 2002), we show that missing bindings can be statically identified via verification tools, in particular by employing the concept of bad activity error introduced in (J. Adamek et al., 2004).","PeriodicalId":213849,"journal":{"name":"11th Asia-Pacific Software Engineering Conference","volume":"13 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2004-11-30","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"124859878","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":"Empirical evaluation of orthogonality of class mutation operators","authors":"Hyo-Jeong Lee, Yu-Seung Ma, Y. Kwon","doi":"10.1109/APSEC.2004.49","DOIUrl":"https://doi.org/10.1109/APSEC.2004.49","url":null,"abstract":"Mutation testing is a fault-based testing technique which provides strong quality assurance. Mutation testing has a very long history for the procedural programs at unit-level testing, but the research on mutation testing of object-oriented programs is still immature. Recently, class mutation operators are proposed to detect object-oriented specific faults. However, any analysis has not been conducted on the class mutation operators. In this paper, we evaluate the orthogonality of the class mutation operators by some experiment. The experimental results show the high possibility that each class mutation operator has fault-revealing power that is not achieved by other mutation operators, i.e. orthogonal. Also, the results show that the number of mutants from the class mutation operators is small so that the cost is not so high as procedural programs.","PeriodicalId":213849,"journal":{"name":"11th Asia-Pacific Software Engineering Conference","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2004-11-30","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130725430","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":"An empirical evaluation of architectural alternatives for J2EE and Web services","authors":"Y. Liu, I. Gorton","doi":"10.1109/APSEC.2004.25","DOIUrl":"https://doi.org/10.1109/APSEC.2004.25","url":null,"abstract":"Component-based technologies such as J2EE and .NET have been widely adopted to develop Web-based applications. With the emerging use of Web services and service-based architectures, such component technologies provide the necessary back-end components to execute application business logic, supporting a variety of architectural alternatives. The combination of component technologies with Web services further extends the set of architecture choices, with each providing different levels of performance. It is therefore important for an architect to understand these performance implications in the early stages of the architecture design. In this paper, we measure and analyze the performance of four alternative architectures using J2EE and Web services. The purpose is to investigate the effects on performance, identify both hardware and software bottlenecks, and analyze the architectural design trade-offs.","PeriodicalId":213849,"journal":{"name":"11th Asia-Pacific Software Engineering Conference","volume":"4 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2004-11-30","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129932477","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 in specification and implementation testing","authors":"Tim Miller, P. Strooper","doi":"10.1109/APSEC.2004.1","DOIUrl":"https://doi.org/10.1109/APSEC.2004.1","url":null,"abstract":"Achieving consistency between a specification and its implementation is an important part of software development In previous work, we have presented a method and tool support for testing a formal specification using animation and then verifying an implementation of that specification. The method is based on a testgraph, which provides a partial model of the application under test. The testgraph is used in combination with an animator to generate test sequences for testing the formal specification. The same testgraph is used during testing to execute those same sequences on the implementation and to ensure that the implementation conforms to the specification. So far, the method and its tool support have been applied to software components that can be accessed through an application programmer interface (API). In this paper, we use an industrially-based case study to discuss the problems associated with applying the method to a software system with a graphical user interface (GUI). In particular, the lack of a standardised interface, as well as controllability and observability problems, make it difficult to automate the testing of the implementation. The method can still be applied, but the amount of testing that can be carried on the implementation is limited by the manual effort involved.","PeriodicalId":213849,"journal":{"name":"11th Asia-Pacific Software Engineering Conference","volume":"17 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2004-11-30","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130758071","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":"Quality attribute scenario based architectural modeling for self-adaptation supported by architecture-based reflective middleware","authors":"Yali Zhu, Gang Huang, Hong Mei","doi":"10.1109/APSEC.2004.79","DOIUrl":"https://doi.org/10.1109/APSEC.2004.79","url":null,"abstract":"Reflective middleware is proposed for guaranteeing desired qualities of middleware based systems which reside in the extremely open and dynamic Internet. Current researches and practices focus on how to monitor and change the whole system through reflective mechanisms provided by middleware. However, they put little attention on why, when and what to monitor and change because it is very hard for middleware to collect enough knowledge which is usually specific to the whole system. Being an important artifact in software development, software architecture records plentiful design information, especially the considerations for quality attributes of the target system. It is a natural idea to provide reflective middleware with enough knowledge via software architecture. This paper presents a demonstration of the idea. In this demonstration, the self-adaptations can be analyzed in a quality attribute scenario based way and specified by an extended architecture description language. Such knowledge prescribed at the design phase can be used directly by an architecture based reflective middleware which then automatically adapts itself at runtime.","PeriodicalId":213849,"journal":{"name":"11th Asia-Pacific Software Engineering Conference","volume":"28 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2004-11-30","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"123665031","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":"Feature modeling from holistic viewpoints in product line engineering","authors":"Kei Kurakawa","doi":"10.1109/APSEC.2004.52","DOIUrl":"https://doi.org/10.1109/APSEC.2004.52","url":null,"abstract":"In the field of software intensive systems, the software industry inherently requires a new method to obtain a high level of productivity by reuse of software embedded in the systems. Product line engineering is an emerging software engineering discipline with the new approach that makes it efficient to reuse embedded software by scoping a domain of systems. Features are described with terms for system requirements, which cover both functional requirements and nonfunctional requirements. Features are deployed in a tree figure, such that a general feature consists of subordinate features. The feature tree has a central role in system design and development. To construct a feature tree, the construction must be based on all fundamental design knowledge about a domain of systems such as of integrated circuits and mechanical devices as well as software entities because all design knowledge in any engineering disciplines in a domain of systems affect commonality and variability modeling in the feature tree. The feature modeling therefore needs a global systems engineering viewpoint.","PeriodicalId":213849,"journal":{"name":"11th Asia-Pacific Software Engineering Conference","volume":"40 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2004-11-30","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127156131","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":"Using hypergraph as modeling language for generating test cases on demand","authors":"Karl R. P. H. Leung","doi":"10.1109/APSEC.2004.107","DOIUrl":"https://doi.org/10.1109/APSEC.2004.107","url":null,"abstract":"The amount of test cases in real life software testing is huge. There are many studies, such as classification tree and class vector, on generating all the test cases at a time. The practicability of these studies is low as the testers are difficult to manage that huge amount of test cases. When testing a subset of functions of a system or testing the part of systems that have been modified, it would be more practical and convenience for testers if only all the concerned test cases are generated on demand. In order to generate test cases on demand, first we need a modeling language which is capable to model the input. The modeling language should be elegant and convenient such that testers can focus in the testing. This modeling language should support generating test cases according to some criteria as well. Furthermore, the model language should be implementable for computer aided test cases generation. We found hypergraph is a good candidate as the modeling language. In this paper, we report our study on using hypergraph as the modeling language for generating test cases on demand.","PeriodicalId":213849,"journal":{"name":"11th Asia-Pacific Software Engineering Conference","volume":"40 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2004-11-30","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115855652","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}