首页 > 最新文献

Proceedings of the International Workshop on Innovative Software Development Methodologies and Practices最新文献

英文 中文
Sketch-based gradual model-driven development 基于草图的渐进模型驱动开发
Peiyuan Li, Naoyasu Ubayashi, Di Ai, Yu Ning Li, Shintaro Hosoai, Yasutaka Kamei
This paper proposes an abstraction-aware reverse engineering method in which a developer just makes a mark on an important code region as if he or she draws a quick sketch on the program list. A support tool called iArch slices a program from marked program points and generates an abstract design model faithful to the intention of the developer. The developer can modify the design model and re-generate the code again while preserving the abstraction level and the traceability. Archface, an interface mechanism between design and code, plays an important role in abstraction-aware traceability check. If the developer wants to obtain a more concrete design model from the code, he or she only has to make additional marks on the program list. We can gradually transition to model-driven development style.
本文提出了一种抽象感知的逆向工程方法,开发人员只需在重要的代码区域上做一个标记,就像他或她在程序列表上画一个快速草图一样。一个叫做iArch的支持工具从标记的程序点中分割程序,并生成忠实于开发人员意图的抽象设计模型。开发人员可以修改设计模型并重新生成代码,同时保留抽象级别和可追溯性。Archface是设计和代码之间的接口机制,在抽象感知的可追溯性检查中起着重要作用。如果开发人员希望从代码中获得更具体的设计模型,他或她只需要在程序列表上做额外的标记。我们可以逐渐过渡到模型驱动的开发风格。
{"title":"Sketch-based gradual model-driven development","authors":"Peiyuan Li, Naoyasu Ubayashi, Di Ai, Yu Ning Li, Shintaro Hosoai, Yasutaka Kamei","doi":"10.1145/2666581.2666595","DOIUrl":"https://doi.org/10.1145/2666581.2666595","url":null,"abstract":"This paper proposes an abstraction-aware reverse engineering method in which a developer just makes a mark on an important code region as if he or she draws a quick sketch on the program list. A support tool called iArch slices a program from marked program points and generates an abstract design model faithful to the intention of the developer. The developer can modify the design model and re-generate the code again while preserving the abstraction level and the traceability. Archface, an interface mechanism between design and code, plays an important role in abstraction-aware traceability check. If the developer wants to obtain a more concrete design model from the code, he or she only has to make additional marks on the program list. We can gradually transition to model-driven development style.","PeriodicalId":249136,"journal":{"name":"Proceedings of the International Workshop on Innovative Software Development Methodologies and Practices","volume":"33 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2014-11-16","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"121787050","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}
引用次数: 1
Program structure aware fault localization 程序结构感知故障定位
Heng Li, Yuzhen Liu, Zhenyu Zhang, Jian Liu
Software testing is always an effective method to show the presence of bugs in programs, while debugging is never an easy task to remove a bug from a program. To facilitate the debugging task, statistical fault localization estimates the location of faults in programs automatically by analyzing the program executions to narrow down the suspicious region. We observe that program structure has strong impacts on the assessed suspiciousness of program elements. However, existing techniques inadequately pay attention to this problem. In this paper, we emphasize the biases caused by program structure in fault localization, and propose a method to address them. Our method is dedicated to boost a fault localization technique by adapting it to various program structures, in a software development process. It collects the suspiciousness of program elements when locating historical faults, statistically captures the biases caused by program structure, and removes such an impact factor from a fault localization result. An empirical study using the Siemens test suite shows that our method can greatly improve the effectiveness of the most representative fault localization Tarantula.
软件测试始终是显示程序中存在错误的有效方法,而从程序中删除错误的调试从来都不是一件容易的任务。统计故障定位通过分析程序的执行情况,自动估计程序中故障的位置,从而缩小可疑区域,方便调试任务的完成。我们观察到,节目结构对节目要素的怀疑程度有很强的影响。然而,现有的技术对这一问题重视不够。本文着重讨论了程序结构在故障定位中的误差,并提出了一种解决方法。在软件开发过程中,我们的方法通过适应不同的程序结构来提高故障定位技术。它在定位历史故障时收集程序元素的怀疑性,统计捕获由程序结构引起的偏差,并从故障定位结果中去除这种影响因素。利用西门子测试套件进行的实证研究表明,我们的方法可以大大提高最具代表性的狼蛛故障定位的有效性。
{"title":"Program structure aware fault localization","authors":"Heng Li, Yuzhen Liu, Zhenyu Zhang, Jian Liu","doi":"10.1145/2666581.2666593","DOIUrl":"https://doi.org/10.1145/2666581.2666593","url":null,"abstract":"Software testing is always an effective method to show the presence of bugs in programs, while debugging is never an easy task to remove a bug from a program. To facilitate the debugging task, statistical fault localization estimates the location of faults in programs automatically by analyzing the program executions to narrow down the suspicious region. We observe that program structure has strong impacts on the assessed suspiciousness of program elements. However, existing techniques inadequately pay attention to this problem. In this paper, we emphasize the biases caused by program structure in fault localization, and propose a method to address them. Our method is dedicated to boost a fault localization technique by adapting it to various program structures, in a software development process. It collects the suspiciousness of program elements when locating historical faults, statistically captures the biases caused by program structure, and removes such an impact factor from a fault localization result. An empirical study using the Siemens test suite shows that our method can greatly improve the effectiveness of the most representative fault localization Tarantula.","PeriodicalId":249136,"journal":{"name":"Proceedings of the International Workshop on Innovative Software Development Methodologies and Practices","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2014-11-16","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127899700","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
A new business model of custom software development for agile software development 一种针对敏捷软件开发的定制软件开发的新业务模型
Yoshihito Kuranuki, Tsuyoshi Ushio, Tsutomu Yasui, Susumu Yamazaki
In this paper, we propose a new business model for custom software development industry utilizing agile software development to embrace changes. Traditional business model usually does not work well with agile software development because it mandate up-front man-month estimation based on a fixed scope. Our new model proposes a solution with two notable features; fixed monthly subscription and weekly agreement of what to provide. We successfully applied the new business model to more than 20 cases over 3 years and this paper describes one of them.
在本文中,我们为定制软件开发行业提出了一种利用敏捷软件开发来拥抱变化的新业务模型。传统的业务模型通常不适用于敏捷软件开发,因为它要求基于固定范围进行预先的人月估算。我们的新模型提出了一个具有两个显著特征的解决方案;固定每月订阅和每周提供什么协议。我们在3年多的时间里成功地将新的商业模式应用到20多个案例中,本文描述了其中的一个案例。
{"title":"A new business model of custom software development for agile software development","authors":"Yoshihito Kuranuki, Tsuyoshi Ushio, Tsutomu Yasui, Susumu Yamazaki","doi":"10.1145/2666581.2666584","DOIUrl":"https://doi.org/10.1145/2666581.2666584","url":null,"abstract":"In this paper, we propose a new business model for custom software development industry utilizing agile software development to embrace changes. Traditional business model usually does not work well with agile software development because it mandate up-front man-month estimation based on a fixed scope. Our new model proposes a solution with two notable features; fixed monthly subscription and weekly agreement of what to provide. We successfully applied the new business model to more than 20 cases over 3 years and this paper describes one of them.","PeriodicalId":249136,"journal":{"name":"Proceedings of the International Workshop on Innovative Software Development Methodologies and Practices","volume":"23 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2014-11-16","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"132589441","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}
引用次数: 1
Model checking partial software product line designs 对部分软件产品线设计进行模型检查
Yufeng Shi, Ou Wei, Yu Zhou
Software product line (SPL) maximizes commonality between software products to reduce cost and improve productivity, where each product is represented by a selection of features that corresponds to particular customer requirements. SPL has been widely applied in critical systems such as communications, automobile, and aerospace, and ensuring correctness of the system is thus of great importance. In this paper, we consider model checking partial software product line designs, i.e., the incomplete designs in the early stage of software development, where the design decisions for a feature may be unknown. This enables detecting design errors earlier, reducing the cost of later development of final products. To this end, we first propose bilattice-based feature transitions systems (BFTSs) for modeling partial software product line designs, which support description of uncertainty and preserve features as a first class notion. We then express system behavioral properties using ACTL formulas and define its semantics over BFTSs. Finally, to leverage the power of existing model checking engine for verification, we provide the procedures that translate BFTSs and ACTL formulas to the inputs of the symbolic model checker $Chi$Chek. We implement our approach and illustrate its effectiveness on a benchmark from literature.
软件产品线(SPL)最大化了软件产品之间的通用性,以降低成本并提高生产率,其中每个产品都由与特定客户需求相对应的一系列特性来表示。声压级在通信、汽车、航天等关键系统中有着广泛的应用,保证系统的正确性具有重要意义。在本文中,我们考虑模型检查部分软件产品线设计,即软件开发早期阶段的不完整设计,其中一个特征的设计决策可能是未知的。这样可以更早地发现设计错误,降低最终产品后期开发的成本。为此,我们首先提出了基于双边的特征转换系统(BFTSs)来建模部分软件产品线设计,它支持不确定性的描述,并将特征作为一流的概念保留下来。然后,我们使用ACTL公式表达系统的行为属性,并在bfts上定义其语义。最后,为了利用现有模型检查引擎的功能进行验证,我们提供了将BFTSs和ACTL公式转换为符号模型检查器$Chi$ check的输入的过程。我们实施我们的方法,并从文献的基准说明其有效性。
{"title":"Model checking partial software product line designs","authors":"Yufeng Shi, Ou Wei, Yu Zhou","doi":"10.1145/2666581.2666589","DOIUrl":"https://doi.org/10.1145/2666581.2666589","url":null,"abstract":"Software product line (SPL) maximizes commonality between software products to reduce cost and improve productivity, where each product is represented by a selection of features that corresponds to particular customer requirements. SPL has been widely applied in critical systems such as communications, automobile, and aerospace, and ensuring correctness of the system is thus of great importance. In this paper, we consider model checking partial software product line designs, i.e., the incomplete designs in the early stage of software development, where the design decisions for a feature may be unknown. This enables detecting design errors earlier, reducing the cost of later development of final products. To this end, we first propose bilattice-based feature transitions systems (BFTSs) for modeling partial software product line designs, which support description of uncertainty and preserve features as a first class notion. We then express system behavioral properties using ACTL formulas and define its semantics over BFTSs. Finally, to leverage the power of existing model checking engine for verification, we provide the procedures that translate BFTSs and ACTL formulas to the inputs of the symbolic model checker $Chi$Chek. We implement our approach and illustrate its effectiveness on a benchmark from literature.","PeriodicalId":249136,"journal":{"name":"Proceedings of the International Workshop on Innovative Software Development Methodologies and Practices","volume":"13 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2014-11-16","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125466868","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}
引用次数: 3
An empirical study of BM25 and BM25F based feature location techniques 基于BM25和BM25F的特征定位技术的实证研究
Zhendong Shi, J. Keung, Qinbao Song
Feature location is a software comprehension activity which aims at identifying source code entities that implement functionalities. Manual feature location is a labor-insensitive task, and developers need to find the target entities from thousands of software artifacts. Recent research has developed automatic and semiautomatic methods mainly based on Information Retrieval (IR) techniques to help developers locate the entities which are textually similar to the feature. In this paper, we focus on individual IR-based methods and try to find a suitable IR technique for feature location, which could be chosen as a part of hybrid methods to achieve good performance. We present two feature location approaches based on BM25 and its variant BM25F algorithm. We compared the two algorithms to the Vector Space Model (VSM), Unigram Model (UM), and Latent Dirichlet Allocation (LDA) on four open source projects. The result shows that BM25 and BM25F are consistently better than other IR methods such as VSM, UM and LDA on the four selected software systems in their best configurations respectively.
特性定位是一种软件理解活动,旨在识别实现功能的源代码实体。手动特性定位是一项劳力不敏感的任务,开发人员需要从成千上万的软件工件中找到目标实体。近年来的研究主要基于信息检索(Information Retrieval, IR)技术开发了自动和半自动的方法来帮助开发人员定位与特征文本相似的实体。在本文中,我们重点研究了基于红外的单个方法,并试图找到一种适合的红外技术来进行特征定位,该技术可以作为混合方法的一部分来选择,以获得良好的性能。提出了两种基于BM25及其变体BM25F算法的特征定位方法。我们将这两种算法与四个开源项目中的向量空间模型(VSM)、Unigram模型(UM)和潜在狄利克雷分配(LDA)进行了比较。结果表明,BM25和BM25F在4种软件系统的最佳配置下均优于VSM、UM和LDA等IR方法。
{"title":"An empirical study of BM25 and BM25F based feature location techniques","authors":"Zhendong Shi, J. Keung, Qinbao Song","doi":"10.1145/2666581.2666594","DOIUrl":"https://doi.org/10.1145/2666581.2666594","url":null,"abstract":"Feature location is a software comprehension activity which aims at identifying source code entities that implement functionalities. Manual feature location is a labor-insensitive task, and developers need to find the target entities from thousands of software artifacts. Recent research has developed automatic and semiautomatic methods mainly based on Information Retrieval (IR) techniques to help developers locate the entities which are textually similar to the feature. In this paper, we focus on individual IR-based methods and try to find a suitable IR technique for feature location, which could be chosen as a part of hybrid methods to achieve good performance. We present two feature location approaches based on BM25 and its variant BM25F algorithm. We compared the two algorithms to the Vector Space Model (VSM), Unigram Model (UM), and Latent Dirichlet Allocation (LDA) on four open source projects. The result shows that BM25 and BM25F are consistently better than other IR methods such as VSM, UM and LDA on the four selected software systems in their best configurations respectively.","PeriodicalId":249136,"journal":{"name":"Proceedings of the International Workshop on Innovative Software Development Methodologies and Practices","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2014-11-16","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127957232","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}
引用次数: 20
Scaling up analogy-based software effort estimation: a comparison of multiple hadoop implementation schemes 扩展基于类比的软件工作量估算:多个hadoop实现方案的比较
Passakorn Phannachitta, J. Keung, Akito Monden, Ken-ichi Matsumoto
Analogy-based estimation (ABE) is one of the most time consuming and compute intensive method in software development effort estimation. Optimizing ABE has been a dilemma because simplifying the procedure can reduce the estimation performance, while increasing the procedure complexity with more sophisticated theory may sacrifice an advantage of the unlimited scalability for a large data input. Motivated by an emergence of cloud computing technology in software applications, in this study we present 3 different implementation schemes based on Hadoop MapReduce to optimize the ABE process across multiple computing instances in the cloud-computing environment. We experimentally compared the 3 MapReduce implementation schemes in contrast with our previously proposed GPGPU approach (named ABE-CUDA) over 8 high-performance Amazon EC2 instances. Results present that the Hadoop solution can provide more computational resources that can extend the scalability of the ABE process. We recommend adoption of 2 different Hadoop implementations (Hadoop streaming and RHadoop) for accelerating the computation specifically for compute-intensive software engineering related tasks.
基于类比的估算(ABE)是软件开发工作量估算中最耗时、计算量最大的方法之一。优化ABE一直是一个两难的问题,因为简化过程会降低估计性能,而使用更复杂的理论增加过程复杂性可能会牺牲大数据输入的无限可扩展性的优势。由于云计算技术在软件应用中的出现,在本研究中,我们提出了基于Hadoop MapReduce的3种不同的实现方案来优化云计算环境中跨多个计算实例的ABE过程。我们在8个高性能Amazon EC2实例上实验比较了3种MapReduce实现方案与我们之前提出的GPGPU方法(称为ABE-CUDA)的对比。结果表明,Hadoop解决方案可以提供更多的计算资源,可以扩展ABE过程的可扩展性。我们建议采用两种不同的Hadoop实现(Hadoop streaming和rha)来加速计算,特别是对于计算密集型的软件工程相关任务。
{"title":"Scaling up analogy-based software effort estimation: a comparison of multiple hadoop implementation schemes","authors":"Passakorn Phannachitta, J. Keung, Akito Monden, Ken-ichi Matsumoto","doi":"10.1145/2666581.2666582","DOIUrl":"https://doi.org/10.1145/2666581.2666582","url":null,"abstract":"Analogy-based estimation (ABE) is one of the most time consuming and compute intensive method in software development effort estimation. Optimizing ABE has been a dilemma because simplifying the procedure can reduce the estimation performance, while increasing the procedure complexity with more sophisticated theory may sacrifice an advantage of the unlimited scalability for a large data input. Motivated by an emergence of cloud computing technology in software applications, in this study we present 3 different implementation schemes based on Hadoop MapReduce to optimize the ABE process across multiple computing instances in the cloud-computing environment. We experimentally compared the 3 MapReduce implementation schemes in contrast with our previously proposed GPGPU approach (named ABE-CUDA) over 8 high-performance Amazon EC2 instances. Results present that the Hadoop solution can provide more computational resources that can extend the scalability of the ABE process. We recommend adoption of 2 different Hadoop implementations (Hadoop streaming and RHadoop) for accelerating the computation specifically for compute-intensive software engineering related tasks.","PeriodicalId":249136,"journal":{"name":"Proceedings of the International Workshop on Innovative Software Development Methodologies and Practices","volume":"366 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2014-11-16","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"116607037","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
Software engineering for multi-tenancy computing challenges and implications 多租户计算的软件工程挑战和影响
J. Ru, J. Grundy, J. Keung
Multi-tenancy is a cloud computing phenomenon. Multiple instances of an application occupy and share resources from a large pool, allowing different users to have their own version of the same application running and coexisting on the same hardware but in isolated virtual spaces. In this position paper we survey the current landscape of multi-tenancy, laying out the challenges and complexity of software engineering where multi-tenancy issues are involved. Multi-tenancy allows cloud service providers to better utilise computing resources, supporting the development of more flexible services to customers based on economy of scale, reducing overheads and infrastructural costs. Nevertheless, there are major challenges in migration from single tenant applications to multi-tenancy. These have not been fully explored in research or practice to date. In particular, the reengineering effort of multi-tenancy in Software-as-a-Service cloud applications requires many complex and important aspects that should be taken into consideration, such as security, scalability, scheduling, data isolation, etc. Our study emphasizes scheduling policies and cloud provisioning and deployment with regards to multi-tenancy issues. We employ CloudSim and MapReduce in our experiments to simulate and analyse multi-tenancy models, scenarios, performance, scalability, scheduling and reliability on cloud platforms.
多租户是一种云计算现象。一个应用程序的多个实例占用和共享来自一个大池的资源,允许不同的用户在相同的硬件上运行和共存相同的应用程序的各自版本,但在隔离的虚拟空间中。在本文中,我们调查了多租户的现状,列出了涉及多租户问题的软件工程的挑战和复杂性。多租户允许云服务提供商更好地利用计算资源,支持基于规模经济为客户开发更灵活的服务,减少管理费用和基础设施成本。然而,在从单租户应用程序迁移到多租户应用程序方面存在主要挑战。到目前为止,这些还没有在研究或实践中得到充分的探索。特别是,软件即服务云应用程序中多租户的重新设计工作需要考虑许多复杂而重要的方面,例如安全性、可伸缩性、调度、数据隔离等。我们的研究强调了与多租户问题相关的调度策略和云供应和部署。我们在实验中使用CloudSim和MapReduce来模拟和分析云平台上的多租户模型、场景、性能、可扩展性、调度和可靠性。
{"title":"Software engineering for multi-tenancy computing challenges and implications","authors":"J. Ru, J. Grundy, J. Keung","doi":"10.1145/2666581.2666585","DOIUrl":"https://doi.org/10.1145/2666581.2666585","url":null,"abstract":"Multi-tenancy is a cloud computing phenomenon. Multiple instances of an application occupy and share resources from a large pool, allowing different users to have their own version of the same application running and coexisting on the same hardware but in isolated virtual spaces. In this position paper we survey the current landscape of multi-tenancy, laying out the challenges and complexity of software engineering where multi-tenancy issues are involved. Multi-tenancy allows cloud service providers to better utilise computing resources, supporting the development of more flexible services to customers based on economy of scale, reducing overheads and infrastructural costs. Nevertheless, there are major challenges in migration from single tenant applications to multi-tenancy. These have not been fully explored in research or practice to date. In particular, the reengineering effort of multi-tenancy in Software-as-a-Service cloud applications requires many complex and important aspects that should be taken into consideration, such as security, scalability, scheduling, data isolation, etc. Our study emphasizes scheduling policies and cloud provisioning and deployment with regards to multi-tenancy issues. We employ CloudSim and MapReduce in our experiments to simulate and analyse multi-tenancy models, scenarios, performance, scalability, scheduling and reliability on cloud platforms.","PeriodicalId":249136,"journal":{"name":"Proceedings of the International Workshop on Innovative Software Development Methodologies and Practices","volume":"8 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2014-11-16","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"121397434","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}
引用次数: 10
Toward a methodology to expose partially fixed concurrency bugs in modified multithreaded programs 在修改后的多线程程序中暴露部分固定的并发性错误的方法
To Tsui, Shangru Wu, W. Chan
Many multithreaded programs incur concurrency bugs. A modified version of such a program, which the exposed concurrency bug is deemed fixed, should be subject to further testing to validate whether the concurrency bug may only be partially fixed. In this paper, we present a similarity-based regression testing methodology to address this problem. It is based on the notions of similar execution contexts of events and bug signatures. To the best of our knowledge, it also presents the first regression testing technique that manipulates thread schedules using a similarity-based active testing strategy.
许多多线程程序会导致并发错误。这样一个程序的修改版本,暴露的并发错误被认为已经修复,应该进行进一步的测试,以验证并发错误是否只能部分修复。在本文中,我们提出了一种基于相似性的回归测试方法来解决这个问题。它基于事件和错误签名的类似执行上下文的概念。据我们所知,它还提供了第一个回归测试技术,该技术使用基于相似性的活动测试策略来操纵线程调度。
{"title":"Toward a methodology to expose partially fixed concurrency bugs in modified multithreaded programs","authors":"To Tsui, Shangru Wu, W. Chan","doi":"10.1145/2666581.2666592","DOIUrl":"https://doi.org/10.1145/2666581.2666592","url":null,"abstract":"Many multithreaded programs incur concurrency bugs. A modified version of such a program, which the exposed concurrency bug is deemed fixed, should be subject to further testing to validate whether the concurrency bug may only be partially fixed. In this paper, we present a similarity-based regression testing methodology to address this problem. It is based on the notions of similar execution contexts of events and bug signatures. To the best of our knowledge, it also presents the first regression testing technique that manipulates thread schedules using a similarity-based active testing strategy.","PeriodicalId":249136,"journal":{"name":"Proceedings of the International Workshop on Innovative Software Development Methodologies and Practices","volume":"18 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2014-11-16","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125388789","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}
引用次数: 1
Supporting clone analysis with tag cloud visualization 支持克隆分析与标签云可视化
Manamu Sano, Eunjong Choi, Norihiro Yoshida, Yuki Yamanaka, Katsuro Inoue
So far, a lot of techniques have been developed on the detection of code clones (i.e., duplicated code) in large-scale source code. Currently, the code clone research community is gradually shifting its focus of attention from the detection to the management (e.g., clone refactoring). During clone management, developers need to understand how and why code clones are scattered in source code, and then decide how to handle those code clones. In this paper, we present a clone analysis tool with tag cloud visualization. This tool is aimed at helping to understand why code clone are concentrated in a part of a software system by generating tag clouds from a collection of identifier names in source code.
到目前为止,已经开发了许多技术来检测大规模源代码中的代码克隆(即重复代码)。目前,代码克隆研究社区正逐渐将其关注的焦点从检测转移到管理(例如,克隆重构)。在克隆管理期间,开发人员需要了解代码克隆如何以及为什么分散在源代码中,然后决定如何处理这些代码克隆。本文提出了一种具有标签云可视化功能的克隆分析工具。该工具旨在通过从源代码中的标识符名称集合生成标记云,帮助理解为什么代码克隆集中在软件系统的某个部分。
{"title":"Supporting clone analysis with tag cloud visualization","authors":"Manamu Sano, Eunjong Choi, Norihiro Yoshida, Yuki Yamanaka, Katsuro Inoue","doi":"10.1145/2666581.2666586","DOIUrl":"https://doi.org/10.1145/2666581.2666586","url":null,"abstract":"So far, a lot of techniques have been developed on the detection of code clones (i.e., duplicated code) in large-scale source code. Currently, the code clone research community is gradually shifting its focus of attention from the detection to the management (e.g., clone refactoring). During clone management, developers need to understand how and why code clones are scattered in source code, and then decide how to handle those code clones. In this paper, we present a clone analysis tool with tag cloud visualization. This tool is aimed at helping to understand why code clone are concentrated in a part of a software system by generating tag clouds from a collection of identifier names in source code.","PeriodicalId":249136,"journal":{"name":"Proceedings of the International Workshop on Innovative Software Development Methodologies and Practices","volume":"21 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2014-11-16","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"134354880","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
Software reliability analysis considering the variation of testing-effort and change-point 考虑测试工作量和变更点变化的软件可靠性分析
Syuan-Zao Ke, Chin-Yu Huang, K. Peng
It is commonly recognized that software development is highly unpredictable and software quality may not be easily enhanced after software product is finished. During the software development life cycle (SDLC), project managers have to solve many technical and management issues, such as high failure rate, cost over-run, low quality, late delivery, etc. Consequently, in order to produce robust and reliable software product(s) on time and within budget, project managers and developers have to appropriately allocate limited development- and testing-effort and time. In the past, the distribution of testing-effort or manpower can typically be described by the Weibull or Rayleigh model. Practically, it should be noticed that development environments or methods could change due to some reasons. Thus when we plan to perform software reliability modeling and prediction, these changes or variations occurring in the development process have to be taken into consideration. In this paper, we will study how to use the Parr-curve model with multiple change-points to depict the consumption of testing-effort and how to perform further software reliability analysis. The applicability and performance of our proposed model will be demonstrated and assessed through real software failure data. Experimental results are analyzed and compared with other existing models to show that our proposed model gives better predictions.
人们普遍认为,软件开发是高度不可预测的,软件产品完成后,软件质量可能不容易提高。在软件开发生命周期(SDLC)中,项目经理必须解决许多技术和管理问题,例如高故障率、成本超支、低质量、延迟交付等。因此,为了在预算内按时生产健壮可靠的软件产品,项目经理和开发人员必须适当地分配有限的开发和测试工作和时间。在过去,测试工作或人力的分配通常可以用Weibull或Rayleigh模型来描述。实际上,应该注意到开发环境或方法可能由于某些原因而发生变化。因此,当我们计划执行软件可靠性建模和预测时,必须考虑到开发过程中发生的这些更改或变化。在本文中,我们将研究如何使用具有多个变更点的parr曲线模型来描述测试工作的消耗以及如何进行进一步的软件可靠性分析。我们提出的模型的适用性和性能将通过实际的软件故障数据进行论证和评估。实验结果表明,本文提出的模型具有较好的预测效果。
{"title":"Software reliability analysis considering the variation of testing-effort and change-point","authors":"Syuan-Zao Ke, Chin-Yu Huang, K. Peng","doi":"10.1145/2666581.2666588","DOIUrl":"https://doi.org/10.1145/2666581.2666588","url":null,"abstract":"It is commonly recognized that software development is highly unpredictable and software quality may not be easily enhanced after software product is finished. During the software development life cycle (SDLC), project managers have to solve many technical and management issues, such as high failure rate, cost over-run, low quality, late delivery, etc. Consequently, in order to produce robust and reliable software product(s) on time and within budget, project managers and developers have to appropriately allocate limited development- and testing-effort and time. In the past, the distribution of testing-effort or manpower can typically be described by the Weibull or Rayleigh model. Practically, it should be noticed that development environments or methods could change due to some reasons. Thus when we plan to perform software reliability modeling and prediction, these changes or variations occurring in the development process have to be taken into consideration. In this paper, we will study how to use the Parr-curve model with multiple change-points to depict the consumption of testing-effort and how to perform further software reliability analysis. The applicability and performance of our proposed model will be demonstrated and assessed through real software failure data. Experimental results are analyzed and compared with other existing models to show that our proposed model gives better predictions.","PeriodicalId":249136,"journal":{"name":"Proceedings of the International Workshop on Innovative Software Development Methodologies and Practices","volume":"48 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2014-11-16","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"121689291","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
期刊
Proceedings of the International Workshop on Innovative Software Development Methodologies and Practices
全部 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