首页 > 最新文献

Proceedings of the 24th International Conference on Software Engineering. ICSE 2002最新文献

英文 中文
Non-functional requirements: from elicitation to modelling languages 非功能需求:从启发到建模语言
L. M. Cysneiros, Julio Cesar Sampaio do Prado Leite
Although Non-Functional Requirements (NFRs) have been present in many software development methods, they have been presented as a second or even third class type of requirement, frequently hidden inside notes and therefore, frequently neglected or forgotten. Surprisingly, despite the fact that non-functional requirements arc among the most expensive and difficult to deal with there are still few works that focus on NFRs as first class requirements. Although these Works have brought a contribution on how to represent and deal with NFRs, two aspects remain not sufficiently explored: how to elicit NFRs and how to merge these NFRs with conceptual models. Our work aims at filling this gap, proposing a strategy to elicit NFRs and to integrate them into conceptual models We focus our attention on conceptual models expressed using UML, and therefore, we propose extensions to UML such that NFRs can be expressed. More precisely, we will show how to integrate NFRs to the Class, Sequence and Collaboration Diagrams. We will also show how Use Cases and Scenarios can be adapted to deal with NFRs. This work was validated by three case studies and their results suggest that by using our proposal we can improve the quality of UML models.
尽管非功能需求(Non-Functional Requirements, NFRs)已经出现在许多软件开发方法中,但它们已经作为第二类甚至第三类需求类型出现,经常隐藏在注释中,因此经常被忽视或遗忘。令人惊讶的是,尽管非功能性需求是最昂贵和最难处理的需求之一,但仍然很少有工作将nfr作为首要需求来关注。尽管这些著作对如何表示和处理非自然灾害做出了贡献,但如何引出非自然灾害以及如何将这些非自然灾害与概念模型合并在一起这两个方面仍然没有得到充分的探讨。我们的工作旨在填补这一空白,提出一种策略来引出nfr并将它们集成到概念模型中。我们将注意力集中在使用UML表达的概念模型上,因此,我们建议对UML进行扩展,以便nfr可以被表达。更准确地说,我们将展示如何将nfr集成到类图、序列图和协作图中。我们还将展示如何调整用例和场景来处理nfr。这项工作通过三个案例研究得到了验证,它们的结果表明,通过使用我们的建议,我们可以提高UML模型的质量。
{"title":"Non-functional requirements: from elicitation to modelling languages","authors":"L. M. Cysneiros, Julio Cesar Sampaio do Prado Leite","doi":"10.1145/581339.581452","DOIUrl":"https://doi.org/10.1145/581339.581452","url":null,"abstract":"Although Non-Functional Requirements (NFRs) have been present in many software development methods, they have been presented as a second or even third class type of requirement, frequently hidden inside notes and therefore, frequently neglected or forgotten. Surprisingly, despite the fact that non-functional requirements arc among the most expensive and difficult to deal with there are still few works that focus on NFRs as first class requirements. Although these Works have brought a contribution on how to represent and deal with NFRs, two aspects remain not sufficiently explored: how to elicit NFRs and how to merge these NFRs with conceptual models. Our work aims at filling this gap, proposing a strategy to elicit NFRs and to integrate them into conceptual models We focus our attention on conceptual models expressed using UML, and therefore, we propose extensions to UML such that NFRs can be expressed. More precisely, we will show how to integrate NFRs to the Class, Sequence and Collaboration Diagrams. We will also show how Use Cases and Scenarios can be adapted to deal with NFRs. This work was validated by three case studies and their results suggest that by using our proposal we can improve the quality of UML models.","PeriodicalId":186061,"journal":{"name":"Proceedings of the 24th International Conference on Software Engineering. ICSE 2002","volume":"100 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2002-05-19","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"134159669","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}
引用次数: 44
Investigating the readability of state-based formal requirements specification languages 调查基于状态的形式化需求规范语言的可读性
M. Zimmerman, K. Lundqvist, N. Leveson
The readability of formal requirements specification languages is hypothesized as a limiting factor in the acceptance of formal methods by the industrial community. An empirical study was conducted to determine how various factors of state-based requirements specification language design affect readability using aerospace applications. Six factors were tested in all, including the representation of the overall state machine structure, the expression of triggering conditions, the use of macros, the use of internal broadcast events, the use of hierarchies, and transition perspective (going-to or coming-from). Subjects included computer scientists as well as aerospace engineers in an effort to determine whether background affects notational preferences. Because so little previous experimentation on this topic exists on which to build hypotheses, the study was designed as a preliminary exploration of what factors are most important with respect to readability. It can serve as a starting point for more thorough and carefully controlled experimentation in specification language readability.
形式化需求说明语言的可读性被假设为工业社区接受形式化方法的限制因素。本文对基于状态的需求说明语言设计的各种因素如何影响航空航天应用程序的可读性进行了实证研究。总共测试了六个因素,包括整体状态机结构的表示、触发条件的表达、宏的使用、内部广播事件的使用、层次结构的使用和转换透视图(去或来)。研究对象包括计算机科学家和航空航天工程师,目的是确定背景是否会影响符号偏好。由于之前关于该主题的实验很少,因此可以建立假设,因此本研究旨在初步探索哪些因素对可读性最重要。它可以作为在规范语言可读性方面进行更彻底和仔细控制的实验的起点。
{"title":"Investigating the readability of state-based formal requirements specification languages","authors":"M. Zimmerman, K. Lundqvist, N. Leveson","doi":"10.1145/581344.581347","DOIUrl":"https://doi.org/10.1145/581344.581347","url":null,"abstract":"The readability of formal requirements specification languages is hypothesized as a limiting factor in the acceptance of formal methods by the industrial community. An empirical study was conducted to determine how various factors of state-based requirements specification language design affect readability using aerospace applications. Six factors were tested in all, including the representation of the overall state machine structure, the expression of triggering conditions, the use of macros, the use of internal broadcast events, the use of hierarchies, and transition perspective (going-to or coming-from). Subjects included computer scientists as well as aerospace engineers in an effort to determine whether background affects notational preferences. Because so little previous experimentation on this topic exists on which to build hypotheses, the study was designed as a preliminary exploration of what factors are most important with respect to readability. It can serve as a starting point for more thorough and carefully controlled experimentation in specification language readability.","PeriodicalId":186061,"journal":{"name":"Proceedings of the 24th International Conference on Software Engineering. ICSE 2002","volume":"7 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2002-05-19","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"133815934","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}
引用次数: 67
Recognizing and responding to "bad smells" in extreme programming 识别和响应极端编程中的“不良气味”
Amr Elssamadisy, G. Schalliol
The agile software development process called Extreme Programming (XP) is a set of best practices which, when used, promises swifter delivery of quality software than one finds with more traditional methodologies. In this paper, we describe a large software development project that used a modified XP approach, identifying several unproductive practices that we detected over its two-year life that threatened the swifter project completion we had grown to expect. We have identified areas of trouble in the entire life cycle, including analysis, design, development, and testing. For each practice we identify, we discuss the solution we implemented to correct it and, more importantly, examine the early symptoms of those poor practices ("bad smells") that project managers, analysts, and developers need to look out for in order to keep an XP project on its swifter track.
被称为极限编程(XP)的敏捷软件开发过程是一组最佳实践,当使用这些实践时,可以保证比使用传统方法更快地交付高质量的软件。在本文中,我们描述了一个使用改进的XP方法的大型软件开发项目,确定了我们在其两年的生命周期中发现的几个非生产性实践,这些实践威胁着我们所期望的更快的项目完成。我们已经确定了整个生命周期中的问题区域,包括分析、设计、开发和测试。对于我们确定的每个实践,我们讨论我们实现的解决方案来纠正它,更重要的是,检查那些不良实践的早期症状(“坏气味”),项目经理、分析师和开发人员需要注意这些症状,以便使XP项目保持在其更快的轨道上。
{"title":"Recognizing and responding to \"bad smells\" in extreme programming","authors":"Amr Elssamadisy, G. Schalliol","doi":"10.1145/581417.581418","DOIUrl":"https://doi.org/10.1145/581417.581418","url":null,"abstract":"The agile software development process called Extreme Programming (XP) is a set of best practices which, when used, promises swifter delivery of quality software than one finds with more traditional methodologies. In this paper, we describe a large software development project that used a modified XP approach, identifying several unproductive practices that we detected over its two-year life that threatened the swifter project completion we had grown to expect. We have identified areas of trouble in the entire life cycle, including analysis, design, development, and testing. For each practice we identify, we discuss the solution we implemented to correct it and, more importantly, examine the early symptoms of those poor practices (\"bad smells\") that project managers, analysts, and developers need to look out for in order to keep an XP project on its swifter track.","PeriodicalId":186061,"journal":{"name":"Proceedings of the 24th International Conference on Software Engineering. ICSE 2002","volume":"642 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2002-05-19","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"133073995","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}
引用次数: 112
Invariant-based specification, synthesis, and verification of synchronization in concurrent programs 并发程序中基于不变量的同步规范、综合和验证
Xianghua Deng, Matthew B. Dwyer, J. Hatcliff, M. Mizuno
Concurrency is used in modern software systems as a means of addressing performance, availability, and reliability requirements. Using current technologies developers are faced with a tension between correct synchronization and performance. Unfortunately, simple approaches can result in significant run-time overhead. Implementing more sophisticated synchronization policies may improve run-time performance and satisfy synchronization requirements, but fundamental difficulties in reasoning about concurrency make it difficult to assess their correctness. The paper describes an approach to automatically synthesizing complex synchronization implementations from formal high-level specifications. Moreover, the generated code is designed to be processed easily by software model-checking tools such as Bandera. This enables the generated synchronization solutions to be verified for important system correctness properties. We believe this is an effective approach because the tool-support provided makes it simple to use, it has a solid semantic foundation, it is language independent, and we have demonstrated that it is powerful enough to solve numerous challenging synchronization problems.
并发性在现代软件系统中被用作处理性能、可用性和可靠性需求的一种手段。使用当前的技术,开发人员面临着正确同步和性能之间的矛盾。不幸的是,简单的方法可能导致显著的运行时开销。实现更复杂的同步策略可以提高运行时性能并满足同步需求,但是在推理并发性方面的基本困难使得很难评估其正确性。本文描述了一种从正式的高级规范中自动合成复杂同步实现的方法。此外,生成的代码被设计成易于被软件模型检查工具(如Bandera)处理。这使得生成的同步解决方案能够验证重要的系统正确性属性。我们相信这是一种有效的方法,因为所提供的工具支持使其易于使用,它具有坚实的语义基础,与语言无关,并且我们已经证明它足够强大,可以解决许多具有挑战性的同步问题。
{"title":"Invariant-based specification, synthesis, and verification of synchronization in concurrent programs","authors":"Xianghua Deng, Matthew B. Dwyer, J. Hatcliff, M. Mizuno","doi":"10.1145/581339.581394","DOIUrl":"https://doi.org/10.1145/581339.581394","url":null,"abstract":"Concurrency is used in modern software systems as a means of addressing performance, availability, and reliability requirements. Using current technologies developers are faced with a tension between correct synchronization and performance. Unfortunately, simple approaches can result in significant run-time overhead. Implementing more sophisticated synchronization policies may improve run-time performance and satisfy synchronization requirements, but fundamental difficulties in reasoning about concurrency make it difficult to assess their correctness. The paper describes an approach to automatically synthesizing complex synchronization implementations from formal high-level specifications. Moreover, the generated code is designed to be processed easily by software model-checking tools such as Bandera. This enables the generated synchronization solutions to be verified for important system correctness properties. We believe this is an effective approach because the tool-support provided makes it simple to use, it has a solid semantic foundation, it is language independent, and we have demonstrated that it is powerful enough to solve numerous challenging synchronization problems.","PeriodicalId":186061,"journal":{"name":"Proceedings of the 24th International Conference on Software Engineering. ICSE 2002","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2002-05-19","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129671221","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}
引用次数: 75
Workshop on software quality 软件质素工作坊
K. Oliveira, A. Rocha, K. C. Weber
In the recent years, software products have increased in size and complexity, becoming a critical and strategic asset in the organizations' business. In this scenario it is a challenge to obtain software products of quality under the time and resources constraints established in projects. Standards, methodologies and techniques to promote software quality assurance have been continually proposed by the researchers and used by software engineers in the industry. The Workshop on Software Quality (WoSQ) aims at bringing together academic, industrial and commercial communities interested in software quality topics to discuss the different technologies being defined and used in the software quality area.
近年来,软件产品在规模和复杂性上都有所增加,成为组织业务中的关键和战略资产。在这种情况下,在项目中建立的时间和资源限制下获得高质量的软件产品是一个挑战。促进软件质量保证的标准、方法和技术不断地被研究人员提出,并被业界的软件工程师所使用。软件质量研讨会(WoSQ)旨在将对软件质量主题感兴趣的学术、工业和商业团体聚集在一起,讨论在软件质量领域定义和使用的不同技术。
{"title":"Workshop on software quality","authors":"K. Oliveira, A. Rocha, K. C. Weber","doi":"10.1145/581339.581437","DOIUrl":"https://doi.org/10.1145/581339.581437","url":null,"abstract":"In the recent years, software products have increased in size and complexity, becoming a critical and strategic asset in the organizations' business. In this scenario it is a challenge to obtain software products of quality under the time and resources constraints established in projects. Standards, methodologies and techniques to promote software quality assurance have been continually proposed by the researchers and used by software engineers in the industry. The Workshop on Software Quality (WoSQ) aims at bringing together academic, industrial and commercial communities interested in software quality topics to discuss the different technologies being defined and used in the software quality area.","PeriodicalId":186061,"journal":{"name":"Proceedings of the 24th International Conference on Software Engineering. ICSE 2002","volume":"46 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2002-05-19","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"122487461","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
Visualization of test information to assist fault localization 测试信息的可视化,以协助故障定位
James A. Jones, M. J. Harrold, J. Stasko
One of the most expensive and time-consuming components of the debugging process is locating the errors or faults. To locate faults, developers must identify statements involved in failures and select suspicious statements that might contain faults. The paper presents a technique that uses visualization to assist with these tasks. The technique uses color to visually map the participation of each program statement in the outcome of the execution of the program with a test suite, consisting of both passed and failed test cases. Based on this visual mapping, a user can inspect the statements in the program, identify statements involved in failures, and locate potentially faulty statements. The paper also describes a prototype tool that implements our technique along with a set of empirical studies that use the tool for evaluation of the technique. The empirical studies show that, for the subject we studied, the technique can be effective in helping a user locate faults in a program.
调试过程中最昂贵和最耗时的部分之一是定位错误或故障。为了定位故障,开发人员必须识别与故障有关的语句,并选择可能包含故障的可疑语句。本文提出了一种利用可视化来协助完成这些任务的技术。该技术使用颜色来可视化地映射每个程序语句在程序执行结果中的参与,并使用测试套件,包括通过和失败的测试用例。基于这种可视化映射,用户可以检查程序中的语句,识别与故障有关的语句,并定位潜在的错误语句。本文还描述了一个实现我们的技术的原型工具,以及一组使用该工具对技术进行评估的实证研究。实证研究表明,对于我们所研究的主题,该技术可以有效地帮助用户定位程序中的故障。
{"title":"Visualization of test information to assist fault localization","authors":"James A. Jones, M. J. Harrold, J. Stasko","doi":"10.1145/581396.581397","DOIUrl":"https://doi.org/10.1145/581396.581397","url":null,"abstract":"One of the most expensive and time-consuming components of the debugging process is locating the errors or faults. To locate faults, developers must identify statements involved in failures and select suspicious statements that might contain faults. The paper presents a technique that uses visualization to assist with these tasks. The technique uses color to visually map the participation of each program statement in the outcome of the execution of the program with a test suite, consisting of both passed and failed test cases. Based on this visual mapping, a user can inspect the statements in the program, identify statements involved in failures, and locate potentially faulty statements. The paper also describes a prototype tool that implements our technique along with a set of empirical studies that use the tool for evaluation of the technique. The empirical studies show that, for the subject we studied, the technique can be effective in helping a user locate faults in a program.","PeriodicalId":186061,"journal":{"name":"Proceedings of the 24th International Conference on Software Engineering. ICSE 2002","volume":"34 8","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2002-05-19","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"113942788","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}
引用次数: 1133
Distributed component technologies and their software engineering implications 分布式组件技术及其软件工程含义
W. Emmerich
In this state-of-the-art report, we review advances in distributed component technologies, such as the Enterprise JavaBeans (EJB) specification and the CORBA component model (CCM). We assess the state of industrial practice in the use of distributed components. We show several architectural styles for whose implementation distributed components have been used successfully. We review the use of iterative and incremental development processes and the notion of a model-driven architecture. We then assess the state of the art in research into novel software engineering methods and tools for the modelling, reasoning and deployment of distributed components. The open problems identified during this review result in the formulation of a research agenda that will contribute to the systematic engineering of distributed systems based on component technologies.
在这份最新的报告中,我们回顾了分布式组件技术的进展,例如Enterprise JavaBeans (EJB)规范和CORBA组件模型(CCM)。我们评估了使用分布式组件的工业实践状态。我们展示了几种架构风格,它们的实现已经成功地使用了分布式组件。我们回顾了迭代和增量开发过程的使用,以及模型驱动架构的概念。然后,我们评估了用于分布式组件建模、推理和部署的新型软件工程方法和工具的研究现状。在这次回顾中发现的开放性问题导致了一个研究议程的制定,这将有助于基于组件技术的分布式系统的系统工程。
{"title":"Distributed component technologies and their software engineering implications","authors":"W. Emmerich","doi":"10.1145/581339.581405","DOIUrl":"https://doi.org/10.1145/581339.581405","url":null,"abstract":"In this state-of-the-art report, we review advances in distributed component technologies, such as the Enterprise JavaBeans (EJB) specification and the CORBA component model (CCM). We assess the state of industrial practice in the use of distributed components. We show several architectural styles for whose implementation distributed components have been used successfully. We review the use of iterative and incremental development processes and the notion of a model-driven architecture. We then assess the state of the art in research into novel software engineering methods and tools for the modelling, reasoning and deployment of distributed components. The open problems identified during this review result in the formulation of a research agenda that will contribute to the systematic engineering of distributed systems based on component technologies.","PeriodicalId":186061,"journal":{"name":"Proceedings of the 24th International Conference on Software Engineering. ICSE 2002","volume":"13 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2002-05-19","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130898746","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}
引用次数: 80
A compliance notation for verifying concurrent systems 用于验证并发系统的遵从性符号
D. Atiya, S. King
The compliance notation provides a practical system where both formal and informal techniques can be employed in software verification. The notation has been successfully applied in verifying some industrial safety-critical systems, but currently it has no support for verifying concurrent systems. This research aims to extend the compliance notation with appropriate support for verifying concurrent systems.
遵从性符号提供了一个实用的系统,其中正式和非正式的技术都可以在软件验证中使用。该符号已成功地应用于验证一些工业安全关键系统,但目前还不支持验证并发系统。本研究旨在扩展遵从性符号,为验证并发系统提供适当的支持。
{"title":"A compliance notation for verifying concurrent systems","authors":"D. Atiya, S. King","doi":"10.1145/581469.581475","DOIUrl":"https://doi.org/10.1145/581469.581475","url":null,"abstract":"The compliance notation provides a practical system where both formal and informal techniques can be employed in software verification. The notation has been successfully applied in verifying some industrial safety-critical systems, but currently it has no support for verifying concurrent systems. This research aims to extend the compliance notation with appropriate support for verifying concurrent systems.","PeriodicalId":186061,"journal":{"name":"Proceedings of the 24th International Conference on Software Engineering. ICSE 2002","volume":"30 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2002-05-19","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126729001","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 model checking in practice: an industrial case study 实践中的软件模型检查:一个工业案例研究
S. Chandra, Patrice Godefroid, Christopher Palm
We present an application of software model checking to the analysis of a large industrial software product: Lucent Technologies' CDMA call-processing library. This software is deployed on thousands of base stations in wireless networks world-wide, where it sets up and manages millions of calls to and from mobile devices everyday. Our analysis of this software was carried out using VeriSoft, a tool developed at Bell Laboratories that implements model-checking algorithms for systematically testing concurrent reactive software. VeriSoft has now been used for over a year for analyzing several releases and versions of the CDMA call-processing software. Although we started this work with a fairly robust version of the software, the application of model checking exposed several problems that had escaped traditional testing. Model checking also helped developers maintain a high degree of confidence in the library as it evolved through its many releases and versions. To our knowledge, software model checking has rarely been applied to software systems of this scale. In this paper, we describe our experience in applying this technology in an industrial environment.
本文介绍了软件模型检验在大型工业软件产品朗讯公司CDMA呼叫处理库分析中的应用。该软件被部署在全球无线网络的数千个基站上,每天在那里建立和管理数百万个来自移动设备的呼叫。我们对该软件的分析是使用VeriSoft进行的,VeriSoft是贝尔实验室开发的一种工具,它实现了模型检查算法,用于系统地测试并发反应性软件。VeriSoft已经使用了一年多的时间来分析CDMA呼叫处理软件的几个版本。尽管我们用一个相当健壮的软件版本开始这项工作,但是模型检查的应用暴露了几个传统测试没有发现的问题。模型检查还帮助开发人员保持对库的高度信心,因为它在许多发行版和版本中不断发展。据我们所知,软件模型检查很少应用于这种规模的软件系统。在本文中,我们描述了我们在工业环境中应用该技术的经验。
{"title":"Software model checking in practice: an industrial case study","authors":"S. Chandra, Patrice Godefroid, Christopher Palm","doi":"10.1145/581339.581393","DOIUrl":"https://doi.org/10.1145/581339.581393","url":null,"abstract":"We present an application of software model checking to the analysis of a large industrial software product: Lucent Technologies' CDMA call-processing library. This software is deployed on thousands of base stations in wireless networks world-wide, where it sets up and manages millions of calls to and from mobile devices everyday. Our analysis of this software was carried out using VeriSoft, a tool developed at Bell Laboratories that implements model-checking algorithms for systematically testing concurrent reactive software. VeriSoft has now been used for over a year for analyzing several releases and versions of the CDMA call-processing software. Although we started this work with a fairly robust version of the software, the application of model checking exposed several problems that had escaped traditional testing. Model checking also helped developers maintain a high degree of confidence in the library as it evolved through its many releases and versions. To our knowledge, software model checking has rarely been applied to software systems of this scale. In this paper, we describe our experience in applying this technology in an industrial environment.","PeriodicalId":186061,"journal":{"name":"Proceedings of the 24th International Conference on Software Engineering. ICSE 2002","volume":"14 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2002-05-19","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"114439162","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}
引用次数: 77
The CycleFree methodology: a simple approach to building reliable, robust, real-time systems 无周期方法:一种构建可靠、健壮、实时系统的简单方法
D. Mays, R. LeBlanc
This paper introduces a new programming methodology for building real-time systems that allows the construction of concurrent programs without the explicit creation and synchronization of threads. The approach requires the program to have an acyclic invocation structure. This restriction allows an underlying CycleFree Kernel to implicitly schedule units of concurrency and synchronize access to objects. Deadlock is avoided by the hierarchical access to objects, and programmers are freed from the traditional worries of explicit task creation and synchronization. The paper discusses real world, commercial experiences, both with explicit multi-threaded applications and with CycleFree applications. The potential pitfalls associated with programming concurrent processes are well known to those skilled in the art. The issues of race conditions, reentrancy, and cyclic deadlock can lead to transient program failure. The CycleFree methodology eliminates these sources of transient program failure, leading to more reliable and robust software.
本文介绍了一种用于构建实时系统的新的编程方法,该方法允许在不显式创建和同步线程的情况下构建并发程序。这种方法要求程序具有非循环调用结构。这个限制允许底层的CycleFree内核隐式地调度并发单元并同步对对象的访问。通过对对象的分层访问避免了死锁,并且程序员从显式任务创建和同步的传统担忧中解脱出来。本文讨论了现实世界的商业经验,包括显式多线程应用程序和CycleFree应用程序。与编程并发进程相关的潜在缺陷对于本领域的技术人员来说是众所周知的。争用条件、可重入性和循环死锁等问题可能导致瞬态程序失败。CycleFree方法消除了这些瞬时程序故障的来源,从而使软件更加可靠和健壮。
{"title":"The CycleFree methodology: a simple approach to building reliable, robust, real-time systems","authors":"D. Mays, R. LeBlanc","doi":"10.1145/581339.581411","DOIUrl":"https://doi.org/10.1145/581339.581411","url":null,"abstract":"This paper introduces a new programming methodology for building real-time systems that allows the construction of concurrent programs without the explicit creation and synchronization of threads. The approach requires the program to have an acyclic invocation structure. This restriction allows an underlying CycleFree Kernel to implicitly schedule units of concurrency and synchronize access to objects. Deadlock is avoided by the hierarchical access to objects, and programmers are freed from the traditional worries of explicit task creation and synchronization. The paper discusses real world, commercial experiences, both with explicit multi-threaded applications and with CycleFree applications. The potential pitfalls associated with programming concurrent processes are well known to those skilled in the art. The issues of race conditions, reentrancy, and cyclic deadlock can lead to transient program failure. The CycleFree methodology eliminates these sources of transient program failure, leading to more reliable and robust software.","PeriodicalId":186061,"journal":{"name":"Proceedings of the 24th International Conference on Software Engineering. ICSE 2002","volume":"18 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2002-05-19","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"124275067","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
期刊
Proceedings of the 24th International Conference on Software Engineering. ICSE 2002
全部 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