首页 > 最新文献

2008 The Eighth International Conference on Quality Software最新文献

英文 中文
Targeting Security Vulnerabilities: From Specification to Detection (Short Paper) 针对安全漏洞:从规范到检测(短文)
Pub Date : 2008-08-12 DOI: 10.1109/QSIC.2008.35
Aiman Hanna, Hai Zhou Ling, J. Furlong, Zhenrong Yang, M. Debbabi
In this paper, we present a joint approach to automate software security testing using two approaches, namely team edit automata (TEA), and the security chaining approach. Team edit automata is used to formally specify the security properties to be tested. It also composes the monitoring engine of the vulnerability detection process. The security chaining approach is used to generate test-data for the purpose of proving that a vulnerability is not only present in the software being tested but it is also exploitable. The combined approach provides elements of a solution towards the automation of security testing of software.
在本文中,我们提出了一种使用两种方法来自动化软件安全测试的联合方法,即团队编辑自动机(TEA)和安全链方法。团队编辑自动机用于正式指定要测试的安全属性。并构成了漏洞检测过程的监控引擎。安全链方法用于生成测试数据,目的是证明一个漏洞不仅存在于被测试的软件中,而且还可以被利用。这种组合方法为软件安全测试的自动化提供了解决方案的要素。
{"title":"Targeting Security Vulnerabilities: From Specification to Detection (Short Paper)","authors":"Aiman Hanna, Hai Zhou Ling, J. Furlong, Zhenrong Yang, M. Debbabi","doi":"10.1109/QSIC.2008.35","DOIUrl":"https://doi.org/10.1109/QSIC.2008.35","url":null,"abstract":"In this paper, we present a joint approach to automate software security testing using two approaches, namely team edit automata (TEA), and the security chaining approach. Team edit automata is used to formally specify the security properties to be tested. It also composes the monitoring engine of the vulnerability detection process. The security chaining approach is used to generate test-data for the purpose of proving that a vulnerability is not only present in the software being tested but it is also exploitable. The combined approach provides elements of a solution towards the automation of security testing of software.","PeriodicalId":6446,"journal":{"name":"2008 The Eighth International Conference on Quality Software","volume":"19 1","pages":"97-102"},"PeriodicalIF":0.0,"publicationDate":"2008-08-12","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"89948255","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}
引用次数: 2
Using Machine Learning to Refine Black-Box Test Specifications and Test Suites 使用机器学习优化黑盒测试规范和测试套件
Pub Date : 2008-08-12 DOI: 10.1109/QSIC.2008.5
L. Briand, Y. Labiche, Z. Bawar
In the context of open source development or software evolution, developers often face test suites which have been developed with no apparent rationale and which may need to be augmented or refined to ensure sufficient dependability, or even reduced to meet tight deadlines. We refer to this process as the re-engineering of test suites. It is important to provide both methodological and tool support to help people understand the limitations of test suites and their possible redundancies, so as to be able to refine them in a cost effective manner. To address this problem in the case of black-box testing, we propose a methodology based on machine learning that has shown promising results on a case study.
在开放源码开发或软件进化的环境中,开发人员经常面对没有明显的基本原理的测试套件,这些测试套件可能需要增加或改进以确保足够的可靠性,甚至需要减少以满足紧迫的最后期限。我们把这个过程称为测试套件的再工程。提供方法和工具支持来帮助人们理解测试套件的局限性及其可能的冗余是很重要的,以便能够以一种成本有效的方式改进它们。为了在黑盒测试的情况下解决这个问题,我们提出了一种基于机器学习的方法,该方法在案例研究中显示出有希望的结果。
{"title":"Using Machine Learning to Refine Black-Box Test Specifications and Test Suites","authors":"L. Briand, Y. Labiche, Z. Bawar","doi":"10.1109/QSIC.2008.5","DOIUrl":"https://doi.org/10.1109/QSIC.2008.5","url":null,"abstract":"In the context of open source development or software evolution, developers often face test suites which have been developed with no apparent rationale and which may need to be augmented or refined to ensure sufficient dependability, or even reduced to meet tight deadlines. We refer to this process as the re-engineering of test suites. It is important to provide both methodological and tool support to help people understand the limitations of test suites and their possible redundancies, so as to be able to refine them in a cost effective manner. To address this problem in the case of black-box testing, we propose a methodology based on machine learning that has shown promising results on a case study.","PeriodicalId":6446,"journal":{"name":"2008 The Eighth International Conference on Quality Software","volume":"1 1","pages":"135-144"},"PeriodicalIF":0.0,"publicationDate":"2008-08-12","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"89170659","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}
引用次数: 35
On the Relationship between Software Aging and Related Parameters (Short Paper) 软件老化与相关参数的关系研究(短文)
Pub Date : 2008-08-12 DOI: 10.1109/QSIC.2008.54
Yun-Fei Jia, Xiu-E Chen, Lei Zhao, K. Cai
Software aging refers to the phenomenon that long-running software shows signs of increasing failing rate, overmuch resource usage, and performance degradation. Software rejuvenation is a proactive approach to dealing with this problem. However, commonly used rejuvenation methods involve a relatively larger overhead. An alternative is to reduce the severity of software aging by online adjusting the settings of related parameters of the system. In this paper, we conduct controlled experiments to analyze severity of software aging under different settings of related parameters. Based on the experimental data, a metric is defined to measure the severity of software aging. A multiple-input and multiple-output (MIMO) model is then constructed to formulate the relationship between severity of software aging and related parameter settings. The proposed MIMO model gives us a way to control the severity of software aging at runtime.
软件老化是指长时间运行的软件显示出故障率增加、资源使用过多和性能下降的现象。软件复兴是一种积极主动的方法来处理这个问题。然而,常用的年轻化方法涉及相对较大的开销。另一种方法是通过在线调整系统相关参数的设置来降低软件老化的严重程度。本文通过对照实验,分析在不同的相关参数设置下,软件老化的严重程度。在实验数据的基础上,定义了一个度量软件老化严重程度的指标。建立多输入多输出(MIMO)模型,建立软件老化严重程度与相关参数设置之间的关系。所提出的MIMO模型为我们提供了一种在运行时控制软件老化严重程度的方法。
{"title":"On the Relationship between Software Aging and Related Parameters (Short Paper)","authors":"Yun-Fei Jia, Xiu-E Chen, Lei Zhao, K. Cai","doi":"10.1109/QSIC.2008.54","DOIUrl":"https://doi.org/10.1109/QSIC.2008.54","url":null,"abstract":"Software aging refers to the phenomenon that long-running software shows signs of increasing failing rate, overmuch resource usage, and performance degradation. Software rejuvenation is a proactive approach to dealing with this problem. However, commonly used rejuvenation methods involve a relatively larger overhead. An alternative is to reduce the severity of software aging by online adjusting the settings of related parameters of the system. In this paper, we conduct controlled experiments to analyze severity of software aging under different settings of related parameters. Based on the experimental data, a metric is defined to measure the severity of software aging. A multiple-input and multiple-output (MIMO) model is then constructed to formulate the relationship between severity of software aging and related parameter settings. The proposed MIMO model gives us a way to control the severity of software aging at runtime.","PeriodicalId":6446,"journal":{"name":"2008 The Eighth International Conference on Quality Software","volume":"34 1","pages":"241-246"},"PeriodicalIF":0.0,"publicationDate":"2008-08-12","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"75560924","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}
引用次数: 7
Performance Analysis of a Composition of Middleware Patterns (Short Paper) 中间件模式组合的性能分析(短文)
Pub Date : 2008-08-12 DOI: 10.1109/QSIC.2008.47
Paul J. Vandal, S. Gokhale
A key enabling technology for the SOA-based approach is middleware, which comprises of reusable building blocks codifying design patterns. In the SOA-based approach, a system is typically implemented using a composition of a group of such patterns, referred to as a vertical variation. The patterns used in a composition and their configuration options can have a a profound impact on system performance. In this paper we present a model-based performance analysis methodology for a system built using a composition of the reactor, active object and monitor object patterns. We implement the performance model using CSIM and illustrate the methodology using examples. By enabling design-time performance analysis, our methodology alleviates many of the disadvantages of post-implementation performance analysis approaches. The methodology can thus provide key guidance towards meeting the performance objectives of a system in a cost-effective manner.
基于soa的方法的一项关键支持技术是中间件,它由编写设计模式的可重用构建块组成。在基于soa的方法中,系统通常使用一组这样的模式(称为垂直变化)的组合来实现。组合中使用的模式及其配置选项会对系统性能产生深远的影响。在本文中,我们提出了一种基于模型的性能分析方法,用于使用反应器、活动对象和监视对象模式组成的系统。我们使用CSIM实现了性能模型,并通过实例说明了该方法。通过启用设计时性能分析,我们的方法减轻了实现后性能分析方法的许多缺点。因此,该方法可以为以具有成本效益的方式实现系统的绩效目标提供关键指导。
{"title":"Performance Analysis of a Composition of Middleware Patterns (Short Paper)","authors":"Paul J. Vandal, S. Gokhale","doi":"10.1109/QSIC.2008.47","DOIUrl":"https://doi.org/10.1109/QSIC.2008.47","url":null,"abstract":"A key enabling technology for the SOA-based approach is middleware, which comprises of reusable building blocks codifying design patterns. In the SOA-based approach, a system is typically implemented using a composition of a group of such patterns, referred to as a vertical variation. The patterns used in a composition and their configuration options can have a a profound impact on system performance. In this paper we present a model-based performance analysis methodology for a system built using a composition of the reactor, active object and monitor object patterns. We implement the performance model using CSIM and illustrate the methodology using examples. By enabling design-time performance analysis, our methodology alleviates many of the disadvantages of post-implementation performance analysis approaches. The methodology can thus provide key guidance towards meeting the performance objectives of a system in a cost-effective manner.","PeriodicalId":6446,"journal":{"name":"2008 The Eighth International Conference on Quality Software","volume":"48 1","pages":"175-180"},"PeriodicalIF":0.0,"publicationDate":"2008-08-12","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"88597641","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}
引用次数: 0
Does Adaptive Random Testing Deliver a Higher Confidence than Random Testing? 自适应随机测试比随机测试提供更高的置信度吗?
Pub Date : 2008-08-12 DOI: 10.1109/QSIC.2008.23
T. Chen, Fei-Ching Kuo, Huai Liu, W. E. Wong
Random testing (RT) is a fundamental software testing technique. Motivated by the rationale that neighbouring test cases tend to cause similar execution behaviours, adaptive random testing (ART) was proposed as an enhancement of RT, which enforces random test cases evenly spread over the input domain. ART has always been compared with RT from the perspective of the failure-detection capability. Previous studies have shown that ART can use fewer test cases to detect the first software failure than RT. In this paper, we aim to compare ART and RT from the perspective of program-based coverage. Our experimental results show that given the same number of test cases, ART normally has a higher percentage of coverage than RT. In conclusion, ART outperforms RT not only in terms of the failure-detection capability, but also in terms of the thoroughness of program-based coverage. Therefore, ART delivers a higher confidence of the software under test than RT even when no failure has been revealed.
随机测试(RT)是一种基本的软件测试技术。由于相邻的测试用例倾向于导致类似的执行行为,自适应随机测试(ART)被提出作为RT的增强,它强制随机测试用例均匀地分布在输入域中。ART一直从故障检测能力的角度与RT进行比较。先前的研究表明,ART可以比RT使用更少的测试用例来检测第一个软件故障。在本文中,我们旨在从基于程序的覆盖率的角度比较ART和RT。我们的实验结果表明,给定相同数量的测试用例,ART通常比RT具有更高的覆盖率。总之,ART不仅在故障检测能力方面优于RT,而且在基于程序的覆盖的完全性方面优于RT。因此,即使在没有发现故障的情况下,ART也比RT提供了对被测软件更高的信心。
{"title":"Does Adaptive Random Testing Deliver a Higher Confidence than Random Testing?","authors":"T. Chen, Fei-Ching Kuo, Huai Liu, W. E. Wong","doi":"10.1109/QSIC.2008.23","DOIUrl":"https://doi.org/10.1109/QSIC.2008.23","url":null,"abstract":"Random testing (RT) is a fundamental software testing technique. Motivated by the rationale that neighbouring test cases tend to cause similar execution behaviours, adaptive random testing (ART) was proposed as an enhancement of RT, which enforces random test cases evenly spread over the input domain. ART has always been compared with RT from the perspective of the failure-detection capability. Previous studies have shown that ART can use fewer test cases to detect the first software failure than RT. In this paper, we aim to compare ART and RT from the perspective of program-based coverage. Our experimental results show that given the same number of test cases, ART normally has a higher percentage of coverage than RT. In conclusion, ART outperforms RT not only in terms of the failure-detection capability, but also in terms of the thoroughness of program-based coverage. Therefore, ART delivers a higher confidence of the software under test than RT even when no failure has been revealed.","PeriodicalId":6446,"journal":{"name":"2008 The Eighth International Conference on Quality Software","volume":"51 1","pages":"145-154"},"PeriodicalIF":0.0,"publicationDate":"2008-08-12","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"83288382","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}
引用次数: 14
Verifying Business Process Compatibility (Short Paper) 验证业务流程兼容性(短文)
Pub Date : 2008-08-12 DOI: 10.1109/QSIC.2008.6
Peter Y. H. Wong, J. Gibbons
We describe a process-algebraic approach to verifying process interactions for business collaboration described in business process modelling notation. We first overview our process semantics for BPMN in the language of communicating sequential processes; we then use a simple example of business collaboration to demonstrate how our semantic model may be used to verify compatibility between business participants in a collaboration.
我们描述了一种流程代数方法,用于验证业务流程建模符号中描述的业务协作的流程交互。我们首先概述了BPMN的过程语义,用顺序过程通信的语言;然后,我们使用一个简单的业务协作示例来演示如何使用我们的语义模型来验证协作中业务参与者之间的兼容性。
{"title":"Verifying Business Process Compatibility (Short Paper)","authors":"Peter Y. H. Wong, J. Gibbons","doi":"10.1109/QSIC.2008.6","DOIUrl":"https://doi.org/10.1109/QSIC.2008.6","url":null,"abstract":"We describe a process-algebraic approach to verifying process interactions for business collaboration described in business process modelling notation. We first overview our process semantics for BPMN in the language of communicating sequential processes; we then use a simple example of business collaboration to demonstrate how our semantic model may be used to verify compatibility between business participants in a collaboration.","PeriodicalId":6446,"journal":{"name":"2008 The Eighth International Conference on Quality Software","volume":"93 1","pages":"126-131"},"PeriodicalIF":0.0,"publicationDate":"2008-08-12","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"77191608","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}
引用次数: 33
Bridging the Concept to Implementation Gap in Software System Testing 弥合软件系统测试中概念与实现的差距
Pub Date : 2008-08-12 DOI: 10.1109/QSIC.2008.48
H. Sneed
The following paper proposes a solution to bridging the ontological gap between the conceptual test specification on the one side and the test implementation on the other. The cause of the gap is the different ontologies used on each side and the different levels of granularity. Whereas on the conceptual side, the ontology of the application is used, and that at an abstract level, on the implementional side, the ontology of the technical architecture is used at a very detailed level. The author proposes here a solution by which the conceptual level is brought down to a level corresponding to the implementation level and with which the notions of both sides are explicitly linked to one another. The key concepts are objects and use cases.
下面的文章提出了一个解决方案,以弥合概念测试规范与测试实现之间的本体论差距。造成这种差距的原因是双方使用了不同的本体和不同的粒度级别。然而,在概念方面,应用程序的本体被使用,在抽象层面,在实现方面,技术体系结构的本体被使用在非常详细的层面。作者在此提出了一种解决方案,通过这种解决方案,将概念层面降低到与实施层面相对应的层面,并使双方的概念彼此明确联系起来。关键概念是对象和用例。
{"title":"Bridging the Concept to Implementation Gap in Software System Testing","authors":"H. Sneed","doi":"10.1109/QSIC.2008.48","DOIUrl":"https://doi.org/10.1109/QSIC.2008.48","url":null,"abstract":"The following paper proposes a solution to bridging the ontological gap between the conceptual test specification on the one side and the test implementation on the other. The cause of the gap is the different ontologies used on each side and the different levels of granularity. Whereas on the conceptual side, the ontology of the application is used, and that at an abstract level, on the implementional side, the ontology of the technical architecture is used at a very detailed level. The author proposes here a solution by which the conceptual level is brought down to a level corresponding to the implementation level and with which the notions of both sides are explicitly linked to one another. The key concepts are objects and use cases.","PeriodicalId":6446,"journal":{"name":"2008 The Eighth International Conference on Quality Software","volume":"17 1","pages":"67-73"},"PeriodicalIF":0.0,"publicationDate":"2008-08-12","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"88027229","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}
引用次数: 4
An Object Oriented Approach towards Dynamic Data Flow Analysis (Short Paper) 面向对象的动态数据流分析方法(短文)
Pub Date : 2008-08-12 DOI: 10.1109/QSIC.2008.18
A. Cain, T. Chen, D. Grant, Fei-Ching Kuo, Jean-Guy Schneider
Dynamic data flow analysis is a testing technique that has been successfully used for many procedural programming languages. However, for Object-Oriented (OO) programs, previous investigations have still followed a data-oriented approach to keep track of the state information for various data elements. This paper proposes an OO approach to perform dynamic data flow analysis for OO programs. In this approach, a meta-model of an OO programpsilas runtime structure is constructed to manage the data flow analysis for the program. An implementation of the model for the Java language is presented, illustrating the practicality and effectiveness of this innovative approach.
动态数据流分析是一种测试技术,已成功地用于许多过程编程语言。然而,对于面向对象(OO)程序,以前的研究仍然遵循面向数据的方法来跟踪各种数据元素的状态信息。本文提出了一种面向对象的方法来对面向对象程序进行动态数据流分析。在这种方法中,构造了一个面向对象程序运行时结构的元模型来管理程序的数据流分析。给出了该模型在Java语言中的实现,说明了这种创新方法的实用性和有效性。
{"title":"An Object Oriented Approach towards Dynamic Data Flow Analysis (Short Paper)","authors":"A. Cain, T. Chen, D. Grant, Fei-Ching Kuo, Jean-Guy Schneider","doi":"10.1109/QSIC.2008.18","DOIUrl":"https://doi.org/10.1109/QSIC.2008.18","url":null,"abstract":"Dynamic data flow analysis is a testing technique that has been successfully used for many procedural programming languages. However, for Object-Oriented (OO) programs, previous investigations have still followed a data-oriented approach to keep track of the state information for various data elements. This paper proposes an OO approach to perform dynamic data flow analysis for OO programs. In this approach, a meta-model of an OO programpsilas runtime structure is constructed to manage the data flow analysis for the program. An implementation of the model for the Java language is presented, illustrating the practicality and effectiveness of this innovative approach.","PeriodicalId":6446,"journal":{"name":"2008 The Eighth International Conference on Quality Software","volume":"17 1","pages":"163-168"},"PeriodicalIF":0.0,"publicationDate":"2008-08-12","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"84069791","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}
引用次数: 2
MUSIC: Mutation-based SQL Injection Vulnerability Checking MUSIC:基于突变的SQL注入漏洞检查
Pub Date : 2008-08-12 DOI: 10.1109/QSIC.2008.33
H. Shahriar, Mohammad Zulkernine
SQL injection is one of the most prominent vulnerabilities for web-based applications. Exploitation of SQL injection vulnerabilities (SQLIV) through successful attacks might result in severe consequences such as authentication bypassing, leaking of private information etc. Therefore, testing an application for SQLIV is an important step for ensuring its quality. However, it is challenging as the sources of SQLIV vary widely, which include the lack of effective input filters in applications, insecure coding by programmers, inappropriate usage of APIs for manipulating databases etc. Moreover, existing testing approaches do not address the issue of generating adequate test data sets that can detect SQLIV. In this work, we present a mutation-based testing approach for SQLIV testing. We propose nine mutation operators that inject SQLIV in application source code. The operators result in mutants, which can be killed only with test data containing SQL injection attacks. By this approach, we force the generation of an adequate test data set containing effective test cases capable of revealing SQLIV. We implement a MUtation-based SQL Injection vulnerabilities Checking (testing) tool (MUSIC) that automatically generates mutants for the applications written in Java Server Pages (JSP) and performs mutation analysis. We validate the proposed operators with five open source web-based applications written in JSP. We show that the proposed operators are effective for testing SQLIV.
SQL注入是基于web的应用程序中最突出的漏洞之一。通过成功的攻击利用SQL注入漏洞(SQLIV)可能会导致严重的后果,如绕过身份验证、泄露私人信息等。因此,为SQLIV测试应用程序是确保其质量的重要步骤。然而,这是一个挑战,因为SQLIV的来源变化很大,包括应用程序中缺乏有效的输入过滤器,程序员的不安全编码,操作数据库的api使用不当等。此外,现有的测试方法不能解决生成能够检测SQLIV的足够的测试数据集的问题。在这项工作中,我们提出了一种基于突变的SQLIV测试方法。我们提出了9个在应用程序源代码中注入SQLIV的变异算子。操作符导致突变,只有使用包含SQL注入攻击的测试数据才能杀死突变。通过这种方法,我们强制生成一个足够的测试数据集,其中包含能够揭示SQLIV的有效测试用例。我们实现了一个基于突变的SQL注入漏洞检查(测试)工具(MUSIC),它自动为用Java Server Pages (JSP)编写的应用程序生成突变并执行突变分析。我们用五个用JSP编写的基于web的开源应用程序验证了建议的操作符。结果表明,所提出的算子对SQLIV测试是有效的。
{"title":"MUSIC: Mutation-based SQL Injection Vulnerability Checking","authors":"H. Shahriar, Mohammad Zulkernine","doi":"10.1109/QSIC.2008.33","DOIUrl":"https://doi.org/10.1109/QSIC.2008.33","url":null,"abstract":"SQL injection is one of the most prominent vulnerabilities for web-based applications. Exploitation of SQL injection vulnerabilities (SQLIV) through successful attacks might result in severe consequences such as authentication bypassing, leaking of private information etc. Therefore, testing an application for SQLIV is an important step for ensuring its quality. However, it is challenging as the sources of SQLIV vary widely, which include the lack of effective input filters in applications, insecure coding by programmers, inappropriate usage of APIs for manipulating databases etc. Moreover, existing testing approaches do not address the issue of generating adequate test data sets that can detect SQLIV. In this work, we present a mutation-based testing approach for SQLIV testing. We propose nine mutation operators that inject SQLIV in application source code. The operators result in mutants, which can be killed only with test data containing SQL injection attacks. By this approach, we force the generation of an adequate test data set containing effective test cases capable of revealing SQLIV. We implement a MUtation-based SQL Injection vulnerabilities Checking (testing) tool (MUSIC) that automatically generates mutants for the applications written in Java Server Pages (JSP) and performs mutation analysis. We validate the proposed operators with five open source web-based applications written in JSP. We show that the proposed operators are effective for testing SQLIV.","PeriodicalId":6446,"journal":{"name":"2008 The Eighth International Conference on Quality Software","volume":"22 1","pages":"77-86"},"PeriodicalIF":0.0,"publicationDate":"2008-08-12","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"81620232","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}
引用次数: 87
An Approach for Generation of J2EE Access Control Configurations from Requirements Specification 从需求规范生成J2EE访问控制配置的一种方法
Pub Date : 2008-08-12 DOI: 10.1109/QSIC.2008.4
Lianshan Sun, Gang Huang, Yanchun Sun, Hui Song, Hong Mei
Access control of sensitive resources is a widely used means to achieve information security. When building large-scale systems based on popular commercial component middleware, such as J2EE, a usual way to enforce access control is to define access control configurations for components in a declarative manner. These configurations can be interpreted by the J2EE security service to grant or deny access requests to components. However, it is difficult for the developers to define correct access control configurations according to complex and sometimes ambiguous real-world access control requirements. The difficulties come from mainly the complexity of configuring voluminous component methods in large-scale component based systems and some quality constraints on the configurations, for example, the completeness, consistency and performance overhead of configurations. In this paper, we propose a requirements model driven approach for automatic generation of J2EE access control configurations and demonstrate the approach in a J2EE blueprint application.
对敏感资源进行访问控制是实现信息安全的一种广泛采用的手段。在基于流行的商业组件中间件(如J2EE)构建大型系统时,强制访问控制的一种常用方法是以声明的方式为组件定义访问控制配置。J2EE安全服务可以解释这些配置,以授予或拒绝对组件的访问请求。然而,对于开发人员来说,根据复杂的、有时模棱两可的实际访问控制需求来定义正确的访问控制配置是很困难的。其难点主要来自于大规模组件系统中配置大量组件方法的复杂性和配置的质量约束,如配置的完整性、一致性和性能开销。在本文中,我们提出了一种需求模型驱动的方法,用于自动生成J2EE访问控制配置,并在J2EE蓝图应用程序中演示了该方法。
{"title":"An Approach for Generation of J2EE Access Control Configurations from Requirements Specification","authors":"Lianshan Sun, Gang Huang, Yanchun Sun, Hui Song, Hong Mei","doi":"10.1109/QSIC.2008.4","DOIUrl":"https://doi.org/10.1109/QSIC.2008.4","url":null,"abstract":"Access control of sensitive resources is a widely used means to achieve information security. When building large-scale systems based on popular commercial component middleware, such as J2EE, a usual way to enforce access control is to define access control configurations for components in a declarative manner. These configurations can be interpreted by the J2EE security service to grant or deny access requests to components. However, it is difficult for the developers to define correct access control configurations according to complex and sometimes ambiguous real-world access control requirements. The difficulties come from mainly the complexity of configuring voluminous component methods in large-scale component based systems and some quality constraints on the configurations, for example, the completeness, consistency and performance overhead of configurations. In this paper, we propose a requirements model driven approach for automatic generation of J2EE access control configurations and demonstrate the approach in a J2EE blueprint application.","PeriodicalId":6446,"journal":{"name":"2008 The Eighth International Conference on Quality Software","volume":"8 1","pages":"87-96"},"PeriodicalIF":0.0,"publicationDate":"2008-08-12","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"84573357","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}
引用次数: 8
期刊
2008 The Eighth International Conference on Quality Software
全部 Acc. Chem. Res. ACS Applied Bio Materials ACS Appl. Electron. Mater. ACS Appl. Energy Mater. ACS Appl. Mater. Interfaces ACS Appl. Nano Mater. ACS Appl. Polym. Mater. ACS BIOMATER-SCI ENG ACS Catal. ACS Cent. Sci. ACS Chem. Biol. ACS Chemical Health & Safety ACS Chem. Neurosci. ACS Comb. Sci. ACS Earth Space Chem. ACS Energy Lett. ACS Infect. Dis. ACS Macro Lett. ACS Mater. Lett. ACS Med. Chem. Lett. ACS Nano ACS Omega ACS Photonics ACS Sens. ACS Sustainable Chem. Eng. ACS Synth. Biol. Anal. Chem. BIOCHEMISTRY-US Bioconjugate Chem. BIOMACROMOLECULES Chem. Res. Toxicol. Chem. Rev. Chem. Mater. CRYST GROWTH DES ENERG FUEL Environ. Sci. Technol. Environ. Sci. Technol. Lett. Eur. J. Inorg. Chem. IND ENG CHEM RES Inorg. Chem. J. Agric. Food. Chem. J. Chem. Eng. Data J. Chem. Educ. J. Chem. Inf. Model. J. Chem. Theory Comput. J. Med. Chem. J. Nat. Prod. J PROTEOME RES J. Am. Chem. Soc. LANGMUIR MACROMOLECULES Mol. Pharmaceutics Nano Lett. Org. Lett. ORG PROCESS RES DEV ORGANOMETALLICS J. Org. Chem. J. Phys. Chem. J. Phys. Chem. A J. Phys. Chem. B J. Phys. Chem. C J. Phys. Chem. Lett. Analyst Anal. Methods Biomater. Sci. Catal. Sci. Technol. Chem. Commun. Chem. Soc. Rev. CHEM EDUC RES PRACT CRYSTENGCOMM Dalton Trans. Energy Environ. Sci. ENVIRON SCI-NANO ENVIRON SCI-PROC IMP ENVIRON SCI-WAT RES Faraday Discuss. Food Funct. Green Chem. Inorg. Chem. Front. Integr. Biol. J. Anal. At. Spectrom. J. Mater. Chem. A J. Mater. Chem. B J. Mater. Chem. C Lab Chip Mater. Chem. Front. Mater. Horiz. MEDCHEMCOMM Metallomics Mol. Biosyst. Mol. Syst. Des. Eng. Nanoscale Nanoscale Horiz. Nat. Prod. Rep. New J. Chem. Org. Biomol. Chem. Org. Chem. Front. PHOTOCH PHOTOBIO SCI PCCP Polym. Chem.
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
0
微信
客服QQ
Book学术公众号 扫码关注我们
反馈
×
意见反馈
请填写您的意见或建议
请填写您的手机或邮箱
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
现在去查看 取消
×
提示
确定
Book学术官方微信
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术
文献互助 智能选刊 最新文献 互助须知 联系我们:info@booksci.cn
Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。
Copyright © 2023 Book学术 All rights reserved.
ghs 京公网安备 11010802042870号 京ICP备2023020795号-1