Xiyang Liu, Miao Zhang, Zhiwen Bai, Lei Wang, Wen Du, Yan Wang
{"title":"Function Call Flow based Fitness Function Design in Evolutionary Testing","authors":"Xiyang Liu, Miao Zhang, Zhiwen Bai, Lei Wang, Wen Du, Yan Wang","doi":"10.1109/ASPEC.2007.13","DOIUrl":"https://doi.org/10.1109/ASPEC.2007.13","url":null,"abstract":"Evolutionary Testing has been shown a promising technology for the automatic test data generation. It reformulates test data generation as a metaheuristic search. A well- designed fitness function is essential to the efficiency of evolutionary search. Many efforts have been directed at the design and implementation of fitness function in recent years. However, previous work has just focused on the control dependency of the target on the branches in the same function. When function calls exist in the desired execution trace to the target, the evaluation of the test data on the coverage of these function calls, which should be provided to the evolutionary search, is not captured by the existing fitness function. In this case, the existing fitness function can not fairly evaluate the test data. And the evolutionary search will be hampered or even fail in severe cases. In this paper, a new term is first proposed to incorporate into the existing fitness function. It is applied to evaluate the test data's coverage of function calls along the desired path to the target. The new fitness function can evaluate the test data more fairly, resulting in a better guidance to the evolutionary search. This can be seen by the experiments carried out on two cases.","PeriodicalId":273688,"journal":{"name":"14th Asia-Pacific Software Engineering Conference (APSEC'07)","volume":"35 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":"114667687","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":"ezContract: Using Marker Library and Bytecode Instrumentation to Support Design by Contract in Java","authors":"Yu Chin Cheng, Chien-Tsun Chen, Chin-Yun Hsieh","doi":"10.1109/APSEC.2007.55","DOIUrl":"https://doi.org/10.1109/APSEC.2007.55","url":null,"abstract":"Several approaches have been proposed to support Design by Contract in Java. In this paper, through the use of markers which are predefined dummy methods and attributes, a new approach to annotate contracts is presented. The annotated programs can be directly compiled by standard Java compilers. A bytecode instrumentor is developed to manipulate the bytecode to inject contract evaluation instructions and make the contracts executable at runtime. The marker approach avoids two primary problems found in the existing practices: source compatibility that depends on language extension and symbolic barrier that leaves contracts and their targets unrelated. It also facilitates streamlined integration with IDEs and improves readability as well as writability of the contract- annotated programs.","PeriodicalId":273688,"journal":{"name":"14th Asia-Pacific Software Engineering Conference (APSEC'07)","volume":"3 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":"125977016","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 Study of Class Sizes for Large Java Systems","authors":"Hongyu Zhang, Hee Beng Kuan Tan","doi":"10.1109/APSEC.2007.20","DOIUrl":"https://doi.org/10.1109/APSEC.2007.20","url":null,"abstract":"We perform an empirical study of class sizes (in terms of Lines of Code) on a number of large Java software systems, and discover an interesting pattern - that many classes have only small sizes whereas a few classes have large size. We call this phenomenon the small class phenomenon. Further analysis shows that the class sizes follow the lognormal distribution. Having understood the distribution of class sizes, we then derive a general size estimation model, which reveals the relationship between the size of a large Java system and the number of classes the system has. In this paper, we also show that the adoption of object- orientation is a possible cause of the small class phenomenon. We believe our study reveals the regularity that emerges from large-scale object-oriented software construction, and hope our research can contribute to a deep understanding of computer programming.","PeriodicalId":273688,"journal":{"name":"14th Asia-Pacific Software Engineering Conference (APSEC'07)","volume":"6 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":"122605769","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":"Secure Behavior of Web Browsers to Prevent Information Leakages","authors":"T. Tateishi, Naoshi Tabuchi","doi":"10.1109/APSEC.2007.82","DOIUrl":"https://doi.org/10.1109/APSEC.2007.82","url":null,"abstract":"Recently Web browsers are widely used as client-side application platforms beyond the traditional use of Web browsers. One of main reasons for such evolution of the browsers is the client-side JavaScript language that can execute programs embedded in a document. However, Web applications with client-side JavaScript programs have problems of leaking private information (such as cookie information) due to interactions between the browser and scripts embedded in the document. We propose a new calculus representing browser behavior that prevents information from leakage by means of language-based information flow. The proposed calculus can deal with script rewriting and higher-order functions. In addition, our calculus has a noninterference property depending on a security policy statically given by the user.","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":"129112926","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. I. Kamata, Ai Yoshimoto Yoshida, Hisashi Yoshida, Nao Aoki
{"title":"Figure Out the Current Software Requirements Engineering - What Practitioners Expect to Requirements Engineering? -","authors":"M. I. Kamata, Ai Yoshimoto Yoshida, Hisashi Yoshida, Nao Aoki","doi":"10.1109/APSEC.2007.57","DOIUrl":"https://doi.org/10.1109/APSEC.2007.57","url":null,"abstract":"This research aims to grasp and describe what Requirements Engineering(RE) covers, what RE tries to solve and what should RE be in the future. For these purposes, the authors did the literature survey and interviews with the authorities of RE and practitioners. The literature survey targeted over 700 papers and reports published from 2001 to 2005 in major RE conferences and journals in order to capture the influential papers and the trend of topics. The interviews targeted 13 authorities in RE academic field and 7 practitioners who have much knowledge and experiences of RE. One of the most important results of this study is the RE area quadrant which shows the overview of RE field. This quadrant supports to find out what topics of RE would be effective for practitioners' issue. Another important finding is the gap between practitioners' expectation and researchers work from the interviews to both sides. This research helps to know the current figure of RE and helps to know what RE should tackle with.","PeriodicalId":273688,"journal":{"name":"14th Asia-Pacific Software Engineering Conference (APSEC'07)","volume":"1 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":"130613192","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":"Reducing Unnecessary Conservativeness in Access Rights Analysis with String Analysis","authors":"Mika Koganeyama, Naoshi Tabuchi, T. Tateishi","doi":"10.1109/APSEC.2007.80","DOIUrl":"https://doi.org/10.1109/APSEC.2007.80","url":null,"abstract":"The JavaTM2 runtime system has a security mechanism which guarantees the code under execution has appropriate access permissions to a certain system resource. Use of this security mechanism requires access control policies to specify what operations are permitted on each such resource at each program point. Previous work proposed a program analysis algorithm to statically infer a semi-optimal policy set from given program text. However the proposed method cannot calculate the optimal policy when the target resource is determined by string values at run-time, since it does not keep track of all potential string values generated through built-in or user-defined methods. This results in generating excessive access policies where actually unnecessary resource accesses are permitted. To overcome such limitations, we apply static string analysis to program variables relevant to access control policies. This paper shows that unnecessary permissions can be reduced with string analysis by applying it to analyzing open-source libraries.","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":"123854667","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}
Karthik Subbian, R. Kannan, R. K. Gautam, Y. Narahari
{"title":"Incentive Compatible Mechanisms for Group Ticket Allocation in Software Maintenance Services","authors":"Karthik Subbian, R. Kannan, R. K. Gautam, Y. Narahari","doi":"10.1109/ASPEC.2007.65","DOIUrl":"https://doi.org/10.1109/ASPEC.2007.65","url":null,"abstract":"A customer reported problem (or trouble ticket) in software maintenance is typically solved by one or more maintenance engineers. The decision of allocating the ticket to one or more engineers is generally taken by the lead, based on customer delivery deadlines and a guided complexity assessment from each maintenance engineer. The key challenge in such a scenario is two folds, un-truthful (hiked up) elicitation of ticket complexity by each engineer to the lead and the decision of allocating the ticket to a group of engineers who will solve the ticket with in customer deadline. The decision of allocation should ensure individual and coalitional rationality along with coalitional stability. In this paper we use game theory to examine the issue of truthful elicitation of ticket complexities by engineers for solving ticket as a group given a specific customer delivery deadline. We formulate this problem as strategic form game and propose two mechanisms, (1) division of labor (DOL) and (2) extended second price (ESP). In the proposed mechanisms we show that truth telling by each engineer constitutes a dominant strategy Nash equilibrium of the underlying game. Also we analyze the existence of individual rationality (IR) and coalitional rationality (CR) properties to motivate voluntary and group participation. We use Core, solution concept from co-operative game theory to analyze the stability of the proposed group based on the allocation and payments.","PeriodicalId":273688,"journal":{"name":"14th Asia-Pacific Software Engineering Conference (APSEC'07)","volume":"13 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":"127917249","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":"Project Management Practices on Building Management Information System in IBM Global Business Service","authors":"Yi Wang, Huihui Shi","doi":"10.1109/APSEC.2007.76","DOIUrl":"https://doi.org/10.1109/APSEC.2007.76","url":null,"abstract":"The outsourcing of building Management Information System (MIS) has been a mainstream in recent years. Providing efficient project management to these outsourcing projects has become an urgent issue. As the world biggest Information Technology (IT) consulting service provider, IBM Global Business Service (GBS) has successfully build numerous Management Information System for its customers. Such systems range from to, covering all aspects of MIS. During building these systems, IBM GBS has accumulated lots of experiences on project management. The poster provides some important elements of these elements. Besides, we also provide some key information on training project management staffs.","PeriodicalId":273688,"journal":{"name":"14th Asia-Pacific Software Engineering Conference (APSEC'07)","volume":"279 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":"132295498","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 Product Line Architectures: Methods and Techniques","authors":"M. Babar","doi":"10.1109/APSEC.2007.51","DOIUrl":"https://doi.org/10.1109/APSEC.2007.51","url":null,"abstract":"Summary form only given. Good software architecture is one of the key factors in successfully developing and evolving a system or a family of systems. Software architecture provides the key framework for the earliest design decisions taken to achieve functional and quality requirements. In addition, it has a profound influence on project organizations' functioning and structure. Poor architecture usually results in project inefficiencies, poor communication, and poor decision making. Software architecture for a family of systems also helps identify the commonality among different systems and explicitly document variability. Since software architecture plays a significant role in the life of a system, it is important to evaluate a system's architecture as early as possible. Architecture evaluation is considered one of the most important and effective techniques of addressing quality related issues at the software architecture level and mitigating architectural risks. Moreover, architecture evaluation sessions are an effective means of sharing and capturing architecture design rationale, reasoning behind architecture design decisions. This tutorial highlights the benefits and challenges in evaluating software architectures. It discusses theoretical and practical concepts underpinning some of the well-known scenario-based architecture evaluation methods and various approaches to characterize quality attributes using scenarios. The use of the presented methods, techniques, and tools will be demonstrated with a case study based on an industrial project.","PeriodicalId":273688,"journal":{"name":"14th Asia-Pacific Software Engineering Conference (APSEC'07)","volume":"1 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":"130958872","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}