{"title":"Using Genetic Algorithms to Aid Test-Data Generation for Data-Flow Coverage","authors":"Ahmed S. Ghiduk, M. J. Harrold, M. Girgis","doi":"10.1109/APSEC.2007.100","DOIUrl":"https://doi.org/10.1109/APSEC.2007.100","url":null,"abstract":"This paper presents an automatic test-data generation technique that uses a genetic algorithm (GA) to generate test data that satisfy data-flow coverage criteria. The technique applies the concepts of dominance relations between nodes to define a new multi-objective fitness function to evaluate the generated test data. The paper also presents the results of a set of empirical studies conducted on a set of programs that evaluate the effectiveness of our technique compared to the random-testing technique. The studies show the effective of our technique in achieving coverage of the test requirements, and in reducing the size of test suites, the search time, and the number of iterations required to satisfy the data-flow criteria.","PeriodicalId":273688,"journal":{"name":"14th Asia-Pacific Software Engineering Conference (APSEC'07)","volume":"2015 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2007-12-04","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128035280","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":"Visualization for Software Evolution Based on Logical Coupling and Module Coupling","authors":"N. Hanakawa","doi":"10.1109/APSEC.2007.102","DOIUrl":"https://doi.org/10.1109/APSEC.2007.102","url":null,"abstract":"In large scale software projects, developers make much software during long term. The source codes of software are frequently revised in the projects. The source codes evolve to become complex. Measurements of software complexity have been proposed, such as module coupling and logical coupling. In the case of the module coupling, even if developers copy pieces of source codes to a new module, the module coupling can not detect relationship between the pieces of the source codes although the pieces of the two modules have strong coupling. On the other hand, in the logical coupling, if two modules are accidentally revised at same time by a same developer, the logical coupling will judge strong coupling between the two modules although the modules have no relation. Therefore, we proposed a visualization technique and software complexity metrics for software evolution. A basic idea is that modules including strong module coupling should have strong logical coupling. If a gap between a set of modules including strong module couplings and a set of modules including strong logical couplings is large, the software complexity will be large. In addition, our visualization technique helps developers understand changes of software complexity. As a result of experiments in open source projects, we confirmed that the proposed metrics and visualization technique were able to detect high risky project with many bugs.","PeriodicalId":273688,"journal":{"name":"14th Asia-Pacific Software Engineering Conference (APSEC'07)","volume":"5 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2007-12-04","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"121247130","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":"Construction Method of a High-Order Markov Chain Usage Model","authors":"Tomohiko Takagi, Z. Furukawa","doi":"10.1109/APSEC.2007.36","DOIUrl":"https://doi.org/10.1109/APSEC.2007.36","url":null,"abstract":"Statistical testing is a method for evaluating software reliability. Test cases are generated according to a usage model that represents the behavior of users. Accuracy of a usage model is an important factor since effectiveness of statistical testing (i.e., accuracy of software reliability) depends on it. This paper shows the usage model construction method using high-order Markov chains in order to construct accurate usage models. It is illustrated that the usage models constructed by this method are more accurate than traditional ones based on a simple or time-homogeneous Markov chain and can be constructed automatically. Some problems for more effective statistical testing are then found.","PeriodicalId":273688,"journal":{"name":"14th Asia-Pacific Software Engineering Conference (APSEC'07)","volume":"20 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2007-12-04","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"124698408","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 a Test Order using Object-Oriented Slicing Technique","authors":"J. Jaroenpiboonkit, T. Suwannasart","doi":"10.1109/APSEC.2007.58","DOIUrl":"https://doi.org/10.1109/APSEC.2007.58","url":null,"abstract":"For integration testing processes, testers need to find test sequences of classes in order to execute interactions. One major problem of test order is the presence of cyclic dependency calls. Many researchers have proposed techniques to solve this problem by removing relationships to break cycles and then create test stubs. Therefore, one major purpose of integration testing is minimization of test stubs. This paper presents an approach to find test sequences by using object-oriented slicing technique to alleviate using test stubs. The main objective of using object-oriented slicing is to break cycles by slicing classes for partial testing instead of removing relationships for test stub construction. With this approach, the cost of implementing test stubs is decreased.","PeriodicalId":273688,"journal":{"name":"14th Asia-Pacific Software Engineering Conference (APSEC'07)","volume":"21 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2007-12-04","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125949519","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":"MKtrace: An Innovative Debugging Tool for Multi-Threaded Programs on Multiprocessor Systems","authors":"Yusen Li, Feng Wang, G. Wang, X. Liu, Jing Liu","doi":"10.1109/APSEC.2007.70","DOIUrl":"https://doi.org/10.1109/APSEC.2007.70","url":null,"abstract":"In this paper, we propose an innovative debugging tool called MKtrace to help programmers identify bugs in multi-threaded programs on multiprocessor systems with little overhead. Unlike the traditional debugging tools, we use the trace log to analyze the cause of a crash or any abnormal behaviour. Bugs can be identified within the log file, not directly at run time. Also, a key advantage of MKtrace is its insignificant overhead. The main idea of MKtrace is to monitor all the processes or threads from a program when they switch out in the kernel. We log the call stack of each thread, and then we analyze the log in the user space. We implemented MKtrace on Linux AS3 with two processors and achieved promising results during our experiments.","PeriodicalId":273688,"journal":{"name":"14th Asia-Pacific Software Engineering Conference (APSEC'07)","volume":"29 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2007-12-04","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"121738760","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 Executable UML with OCL-based Action Semantics Language","authors":"Ke Jiang, Lei Zhang, S. Miyake","doi":"10.1109/APSEC.2007.21","DOIUrl":"https://doi.org/10.1109/APSEC.2007.21","url":null,"abstract":"Executable UML allows precisely describing the software system at a higher level of abstraction. It bridges the semantics gap between the UML design models and the implementation. The executable models can be translated to a less abstract programming language completely or executed in a virtual machine directly. Existing executable UMLs lack a formal and standardized Action Semantics Language (ASL). Object Constraint Language (OCL), as a formal specification language, is a standard published by Object Management Group (OMG) along with UML. It is used to describe constraints for UML models. In this paper, we propose an executable UML with OCL-based ASL (OxUML) by extending OCL to support actions with side effects. We present its support environment-UML Virtual Machine (UVM) and suggest a Model-Driven Development (MDD) process with OxUML. We also introduce an example to demonstrate how to build and process OxUML models.","PeriodicalId":273688,"journal":{"name":"14th Asia-Pacific Software Engineering Conference (APSEC'07)","volume":"10 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2007-12-04","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131566952","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}
Kouji Aoyama, Takanori Ugai, Shigeru Yamada, A. Obata
{"title":"Extraction of viewpoints for eliciting customer's requirements based on analysis of specification change records","authors":"Kouji Aoyama, Takanori Ugai, Shigeru Yamada, A. Obata","doi":"10.1109/APSEC.2007.54","DOIUrl":"https://doi.org/10.1109/APSEC.2007.54","url":null,"abstract":"Eliciting customer's requirements is the most important issue for a system integration project. Failure to elicit the customer's requirements can cause an enormous correction cost. However there are only a few practical, concrete guidelines to do. In this paper, we describe a method to extract viewpoints and checklists for eliciting customer's requirements more effectively based on analyzing specification change records. The flow of the method is 1) representing the records in an easy-readable format, 2) identifying the causes and the phases, 3) categorizing them, 4) putting a name to a category, namely a viewpoint and 5) deriving check-items for each viewpoint. We applied the method to 135 records from 4 system development cases, and we derived 39 check-items in total. We found 78% of the specification change cases could have been prevented by only 10 check-items of requirements elicitation process. This result shows that the proposed method works effectively to extract the viewpoints for eliciting customer's requirements.","PeriodicalId":273688,"journal":{"name":"14th Asia-Pacific Software Engineering Conference (APSEC'07)","volume":"21 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2007-12-04","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"123501786","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}
Jingyue Li, Jianqiang Ma, R. Conradi, Weibing Chen, Junzhong Ji, Chunnian Liu
{"title":"A Survey on the Business Relationship between Chinese Outsourcing Software Suppliers and Their Outsourcers","authors":"Jingyue Li, Jianqiang Ma, R. Conradi, Weibing Chen, Junzhong Ji, Chunnian Liu","doi":"10.1109/APSEC.2007.14","DOIUrl":"https://doi.org/10.1109/APSEC.2007.14","url":null,"abstract":"The business relationship between a software outsourcer and its suppliers is gradually moving from contract relationship to partnership. The partnership type between the outsourcer and the supplier is considered as a key predictor of outsourcing success. Although several studies have investigated the practices and benefits of building partnership from an outsourcer's perspective, few of them have studied these issues from the supplier's viewpoint, especially in the context of offshore software outsourcing. Since more and more Chinese software companies are getting outsourcing subcontracts from abroad, it is important to investigate the effect of business relationship on their performance, and to identify possible enhancements. Our study has collected data by a questionnaire-based survey from 53 finished projects in 41 Chinese software suppliers. Twenty-six of our investigated suppliers claim to have contract relationship with their outsourcers and the remaining 27 think they have partnership with outsourcers. Results from our study show, however, that 1) processes and methods used by suppliers to solve conflicts with outsourcers do not follow their self-claimed contract relationships or partnership; 2) there is no significant correlations between the type of relationship and the success of outsourced projects; 3) more personnel with proper language and communication skills need to be educated in order to facilitate Chinese companies to build and maintain a proper partnership with their outsourcers.","PeriodicalId":273688,"journal":{"name":"14th Asia-Pacific Software Engineering Conference (APSEC'07)","volume":"284 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2007-12-04","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"114452244","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}
Pengwei Tian, Yaoxue Zhang, Yuezhi Zhou, M. Zhong, Cunhao Fang
{"title":"UCSI Towards a User-Centric Service Integration Approach","authors":"Pengwei Tian, Yaoxue Zhang, Yuezhi Zhou, M. Zhong, Cunhao Fang","doi":"10.1109/APSEC.2007.97","DOIUrl":"https://doi.org/10.1109/APSEC.2007.97","url":null,"abstract":"Service Integration plays an important role in Service-Oriented Architecture (SOA).With the thriving of SOA, many approaches have been proposed to address the issue. Several languages or specifications are introduced for the definition of integration plan, such as WSFL, BPML and BPEL4WS. And many recent researches employ semantic web techniques to enable the automatic service discovery and interoperation, OWL-S included. Most of the existing approaches are originally introduced for application developers or programmers to use, in which user requirement is usually expressed based on the services themselves. However, a service may be very complex, the functions of which are usually the composite and interconnection of several basic functions. It is sometimes difficult for normal users without developing skills to understand the services and then utilize them to define the integration solution. In the paper, we think that, the most familiar things for normal users are the functions they need and the working process they expect. Based on the intuitive idea, we propose a normal User-Centric Service Integration approach (UCSI). In the approach, a set of function elements are predefined for each specified service domain and three working process notations are introduced to model the relationships between function elements. Then user requirement and service function can both be represented as function elements interconnection based on the process notations. With the representation, the functionality relationship between user requirement and services can be resolved and the service integration solutions can be generated. Normal users with certain knowledge of specified service domains can try using the approach to achieve personalized service integration. And a prototype system is introduced in the end.","PeriodicalId":273688,"journal":{"name":"14th Asia-Pacific Software Engineering Conference (APSEC'07)","volume":"18 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2007-12-04","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"114729347","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":"The First International Workshop on Management and Economics of Software Product Lines (MESPUL07)","authors":"M. Babar, Makoto Nonaka","doi":"10.1109/APSEC.2007.90","DOIUrl":"https://doi.org/10.1109/APSEC.2007.90","url":null,"abstract":"The first international workshop on management and economics of software product lines will bring together researchers and practitioners from academia, industry and governments to report and discuss the challenges and opportunities of adopting and managing software product lines from managerial, organizational, and economics point of view.","PeriodicalId":273688,"journal":{"name":"14th Asia-Pacific Software Engineering Conference (APSEC'07)","volume":"38 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2007-12-04","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130085942","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}