首页 > 最新文献

18th IEEE International Conference on Automated Software Engineering, 2003. Proceedings.最新文献

英文 中文
Communicating requirements using end-user GUI constructions with argumentation 使用带有论证的最终用户GUI结构来交流需求
J. Moore
Unsuccessful communication is often at the root of inadequate requirements specification according to C. Potts et al. (1994). This can lead to requirements that do not capture complete stakeholder expectations. Stakeholders can include managers, software engineers, end-users, clients, etc. End-users provide a rich source of information about a system as they will directly interact with the final system. They also tend to have a solid knowledge of the domain including the tasks being automated. Thus, a major goal early in the software engineering process is gathering meaningful requirements from end-users. This paper explores the use of mock end-user graphical interface construction supplemented with textual argumentation as a means of communicating software requirements information to software requirements analysts and providing automated assistance for requirements analysts examining this information.
根据C. Potts等人(1994)的说法,不成功的沟通往往是需求规范不充分的根源。这可能导致需求不能完全捕获涉众的期望。涉众可以包括经理、软件工程师、最终用户、客户等。终端用户提供了关于系统的丰富信息源,因为他们将直接与最终系统交互。他们也倾向于对领域有扎实的知识,包括正在自动化的任务。因此,软件工程过程早期的一个主要目标是从最终用户那里收集有意义的需求。本文探索了模拟终端用户图形界面构造的使用,并辅以文本论证,作为与软件需求分析人员交流软件需求信息的一种手段,并为需求分析人员检查这些信息提供自动化的帮助。
{"title":"Communicating requirements using end-user GUI constructions with argumentation","authors":"J. Moore","doi":"10.1109/ASE.2003.1240338","DOIUrl":"https://doi.org/10.1109/ASE.2003.1240338","url":null,"abstract":"Unsuccessful communication is often at the root of inadequate requirements specification according to C. Potts et al. (1994). This can lead to requirements that do not capture complete stakeholder expectations. Stakeholders can include managers, software engineers, end-users, clients, etc. End-users provide a rich source of information about a system as they will directly interact with the final system. They also tend to have a solid knowledge of the domain including the tasks being automated. Thus, a major goal early in the software engineering process is gathering meaningful requirements from end-users. This paper explores the use of mock end-user graphical interface construction supplemented with textual argumentation as a means of communicating software requirements information to software requirements analysts and providing automated assistance for requirements analysts examining this information.","PeriodicalId":114604,"journal":{"name":"18th IEEE International Conference on Automated Software Engineering, 2003. Proceedings.","volume":"38 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2003-10-06","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129994638","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}
引用次数: 19
Test suite design for code generation tools 代码生成工具的测试套件设计
Ingo Stürmer, M. Conrad
In model-based development, executable specifications (models) are used for the design of the software to be developed. New techniques allow the automatic generation of compact code directly from the model via so-called code generators. However, at present, code generators do not possess the same quality characteristics as C or ADA compilers which have been proven in use. The use of test suites, which make it possible to check compilers systematically, is also a promising approach for code generators. This paper describes the design of such a test suite for code generators, and introduces a new testing approach for code generator transformations.
在基于模型的开发中,可执行规范(模型)用于要开发的软件的设计。新技术允许通过所谓的代码生成器直接从模型自动生成紧凑的代码。然而,目前,代码生成器并不具有与C或ADA编译器相同的质量特征,这些编译器已被证明在使用中。测试套件的使用使得系统地检查编译器成为可能,对于代码生成器来说也是一种很有前途的方法。本文描述了这种代码生成器测试套件的设计,并介绍了一种新的代码生成器转换测试方法。
{"title":"Test suite design for code generation tools","authors":"Ingo Stürmer, M. Conrad","doi":"10.1109/ASE.2003.1240322","DOIUrl":"https://doi.org/10.1109/ASE.2003.1240322","url":null,"abstract":"In model-based development, executable specifications (models) are used for the design of the software to be developed. New techniques allow the automatic generation of compact code directly from the model via so-called code generators. However, at present, code generators do not possess the same quality characteristics as C or ADA compilers which have been proven in use. The use of test suites, which make it possible to check compilers systematically, is also a promising approach for code generators. This paper describes the design of such a test suite for code generators, and introduces a new testing approach for code generator transformations.","PeriodicalId":114604,"journal":{"name":"18th IEEE International Conference on Automated Software Engineering, 2003. Proceedings.","volume":"10 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2003-10-06","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131903063","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}
引用次数: 51
Fault localization with nearest neighbor queries 使用最近邻查询进行故障定位
Manos Renieris, S. Reiss
We present a method for performing fault localization using similar program spectra. Our method assumes the existence of a faulty run and a larger number of correct runs. It then selects according to a distance criterion the correct run that most resembles the faulty run, compares the spectra corresponding to these two runs, and produces a report of "suspicious" parts of the program. Our method is widely applicable because it does not require any knowledge of the program input and no more information from the user than a classification of the runs as either "correct" or "faulty". To experimentally validate the viability of the method, we implemented it in a tool, Whither, using basic block profiling spectra. We experimented with two different similarity measures and the Siemens suite of 132 programs with injected bugs. To measure the success of the tool, we developed a generic method for establishing the quality of a report. The method is based on the way an "ideal user" would navigate the program using the report to save effort during debugging. The best results obtained were, on average, above 50%, meaning that our ideal user would avoid looking half of the program.
提出了一种利用相似程序谱进行故障定位的方法。我们的方法假设存在一个错误的运行和更多的正确运行。然后,它根据距离标准选择与错误运行最相似的正确运行,比较这两个运行对应的光谱,并生成程序“可疑”部分的报告。我们的方法是广泛适用的,因为它不需要任何程序输入的知识,也不需要用户提供更多的信息,只需要将运行分类为“正确”或“错误”。为了实验验证该方法的可行性,我们使用基本块剖面谱在工具Whither中实现了该方法。我们用两种不同的相似性度量和西门子132个带有注入错误的程序套件进行了实验。为了衡量工具的成功,我们开发了一种建立报告质量的通用方法。该方法基于“理想用户”使用报告导航程序的方式,以节省调试期间的工作。获得的最佳结果平均在50%以上,这意味着我们的理想用户将避免查看程序的一半。
{"title":"Fault localization with nearest neighbor queries","authors":"Manos Renieris, S. Reiss","doi":"10.1109/ASE.2003.1240292","DOIUrl":"https://doi.org/10.1109/ASE.2003.1240292","url":null,"abstract":"We present a method for performing fault localization using similar program spectra. Our method assumes the existence of a faulty run and a larger number of correct runs. It then selects according to a distance criterion the correct run that most resembles the faulty run, compares the spectra corresponding to these two runs, and produces a report of \"suspicious\" parts of the program. Our method is widely applicable because it does not require any knowledge of the program input and no more information from the user than a classification of the runs as either \"correct\" or \"faulty\". To experimentally validate the viability of the method, we implemented it in a tool, Whither, using basic block profiling spectra. We experimented with two different similarity measures and the Siemens suite of 132 programs with injected bugs. To measure the success of the tool, we developed a generic method for establishing the quality of a report. The method is based on the way an \"ideal user\" would navigate the program using the report to save effort during debugging. The best results obtained were, on average, above 50%, meaning that our ideal user would avoid looking half of the program.","PeriodicalId":114604,"journal":{"name":"18th IEEE International Conference on Automated Software Engineering, 2003. Proceedings.","volume":"137 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2003-10-06","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127341190","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}
引用次数: 760
Theoretical foundations of updating systems 更新系统的理论基础
Hannah Harris, M. Ryan
Software systems inevitably require update and revision during their lifetime. The concept of features is often used to model system update: a feature is a unit of functionality which may be integrated into a base system. Possible features of an email client program include: spam filtering; absence messages; selective forwarding; and encryption. In our work, we use AI techniques to understand the operation of feature integration more clearly. In particular, we have taken SMV (symbolic model verifier) feature integrator (SFI), a tool which automates feature integration on systems described using the model checker SMV. Then we have taken update which is an operation of theory change, closely related to belief revision, and defined over propositional logic. We formulate and prove a theorem stating that SFI feature integration is an update operation.
软件系统在其生命周期中不可避免地需要更新和修订。特征的概念通常用于系统更新建模:特征是可以集成到基本系统中的功能单元。电子邮件客户端程序的可能功能包括:垃圾邮件过滤;没有消息;有选择性的转发;和加密。在我们的工作中,我们使用AI技术来更清楚地理解特征集成的操作。特别是,我们采用了SMV(符号模型验证器)特征积分器(SFI),这是一种工具,可以在使用模型检查器SMV描述的系统上自动集成特征。更新是一种理论变化的操作,与信念修正密切相关,定义在命题逻辑之上。我们提出并证明了一个定理,说明SFI特征集成是一个更新操作。
{"title":"Theoretical foundations of updating systems","authors":"Hannah Harris, M. Ryan","doi":"10.1109/ASE.2003.1240323","DOIUrl":"https://doi.org/10.1109/ASE.2003.1240323","url":null,"abstract":"Software systems inevitably require update and revision during their lifetime. The concept of features is often used to model system update: a feature is a unit of functionality which may be integrated into a base system. Possible features of an email client program include: spam filtering; absence messages; selective forwarding; and encryption. In our work, we use AI techniques to understand the operation of feature integration more clearly. In particular, we have taken SMV (symbolic model verifier) feature integrator (SFI), a tool which automates feature integration on systems described using the model checker SMV. Then we have taken update which is an operation of theory change, closely related to belief revision, and defined over propositional logic. We formulate and prove a theorem stating that SFI feature integration is an update operation.","PeriodicalId":114604,"journal":{"name":"18th IEEE International Conference on Automated Software Engineering, 2003. Proceedings.","volume":"63 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2003-10-06","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128944364","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}
引用次数: 21
Architecture style-based calculi for non-functional properties 非功能属性的基于架构风格的演算
D. Wile
Engineers wield various "calculi" to help determine solutions to their problems, calculation tools varying in power from tensile strength tables to the differential calculus. A calculus is normally based on induction over an algebraic structure. Here the author explores how architecture styles can be used to describe such structures. An example calculus based on an "integration" style is presented, which is intended for use as a substyle of other architecture styles. Calculation rules in terms of the architectural elements can be used to compute non-functional attributes of artifacts described in such styles. Naturally, computerized support for calculi will help to automate the tasks of software engineers.
工程师们使用各种各样的“微积分”来帮助确定问题的解决方案,从抗拉强度表到微分法,计算工具的功能各不相同。微积分通常以代数结构的归纳法为基础。在这里,作者探讨了如何使用建筑风格来描述这样的结构。本文给出了一个基于“集成”风格的演算示例,其目的是作为其他架构风格的子风格使用。根据体系结构元素的计算规则可以用来计算以这种风格描述的工件的非功能属性。自然,计算机对微积分的支持将有助于软件工程师的任务自动化。
{"title":"Architecture style-based calculi for non-functional properties","authors":"D. Wile","doi":"10.1109/ASE.2003.1240325","DOIUrl":"https://doi.org/10.1109/ASE.2003.1240325","url":null,"abstract":"Engineers wield various \"calculi\" to help determine solutions to their problems, calculation tools varying in power from tensile strength tables to the differential calculus. A calculus is normally based on induction over an algebraic structure. Here the author explores how architecture styles can be used to describe such structures. An example calculus based on an \"integration\" style is presented, which is intended for use as a substyle of other architecture styles. Calculation rules in terms of the architectural elements can be used to compute non-functional attributes of artifacts described in such styles. Naturally, computerized support for calculi will help to automate the tasks of software engineers.","PeriodicalId":114604,"journal":{"name":"18th IEEE International Conference on Automated Software Engineering, 2003. Proceedings.","volume":"193 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2003-10-06","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131674615","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
On the automatic evolution of an OS kernel using temporal logic and AOP 基于时序逻辑和AOP的操作系统内核自动演化研究
Rickard A. Åberg, J. Lawall, Mario Südholt, Gilles Muller, A. L. Meur
Automating software evolution requires both identifying precisely the affected program points and selecting the appropriate modification at each point. This task is particularly complicated when considering a large program, even when the modifications appear to be systematic. We illustrate this situation in the context of evolving the Linux kernel to support Bossa, an event-based framework for process-scheduler development. To support Bossa, events must be added at points scattered throughout the kernel. In each case, the choice of event depends on properties of one or a sequence of instructions. To describe precisely the choice of event, we propose to guide the event insertion by using a set of rules, amounting to an aspect that describes the control-flow contexts in which each event should be generated. In this paper, we present our approach and describe the set of rules that allows proper event insertion. These rules use temporal logic to describe sequences of instructions that require events to be inserted. We also give an overview of an implementation that we have developed to automatically perform this evolution.
自动化软件发展需要精确地识别受影响的程序点,并在每个点选择适当的修改。在考虑大型程序时,这项任务尤其复杂,即使修改看起来是系统的。我们将在改进Linux内核以支持Bossa(一种用于进程调度器开发的基于事件的框架)的上下文中说明这种情况。为了支持Bossa,必须在整个内核中分散的点添加事件。在每种情况下,事件的选择取决于一个或一系列指令的属性。为了精确地描述事件的选择,我们建议通过使用一组规则来指导事件插入,这相当于一个方面,该方面描述了应该在其中生成每个事件的控制流上下文。在本文中,我们提出了我们的方法,并描述了一组允许适当的事件插入的规则。这些规则使用时序逻辑来描述需要插入事件的指令序列。我们还概述了我们开发的用于自动执行此演变的实现。
{"title":"On the automatic evolution of an OS kernel using temporal logic and AOP","authors":"Rickard A. Åberg, J. Lawall, Mario Südholt, Gilles Muller, A. L. Meur","doi":"10.1109/ASE.2003.1240307","DOIUrl":"https://doi.org/10.1109/ASE.2003.1240307","url":null,"abstract":"Automating software evolution requires both identifying precisely the affected program points and selecting the appropriate modification at each point. This task is particularly complicated when considering a large program, even when the modifications appear to be systematic. We illustrate this situation in the context of evolving the Linux kernel to support Bossa, an event-based framework for process-scheduler development. To support Bossa, events must be added at points scattered throughout the kernel. In each case, the choice of event depends on properties of one or a sequence of instructions. To describe precisely the choice of event, we propose to guide the event insertion by using a set of rules, amounting to an aspect that describes the control-flow contexts in which each event should be generated. In this paper, we present our approach and describe the set of rules that allows proper event insertion. These rules use temporal logic to describe sequences of instructions that require events to be inserted. We also give an overview of an implementation that we have developed to automatically perform this evolution.","PeriodicalId":114604,"journal":{"name":"18th IEEE International Conference on Automated Software Engineering, 2003. Proceedings.","volume":"200 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2003-10-06","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125566786","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}
引用次数: 49
Parallel breadth-first search LTL model-checking 并行宽度优先搜索LTL模型检查
J. Barnat, L. Brim, Jakub Chaloupka
We propose a practical parallel on-the-fly algorithm for enumerative LTL (linear temporal logic) model checking. The algorithm is designed for a cluster of workstations communicating via MPI (message passing interface). The detection of cycles (faulty runs) effectively employs the so called back-level edges. In particular, a parallel level-synchronized breadth-first search of the graph is performed to discover back-level edges. For each level, the back-level edges are checked in parallel by a nested depth-first search to confirm or refute the presence of a cycle. Several optimizations of the basic algorithm are presented and advantages and drawbacks of their application to distributed LTL model-checking are discussed. Experimental implementation of the algorithm shows promising results.
我们提出了一种实用的并行实时算法,用于枚举线性时序逻辑模型检验。该算法是为通过MPI(消息传递接口)通信的工作站集群而设计的。循环(故障运行)的检测有效地使用了所谓的后水平边缘。特别是,对图进行并行的水平同步的宽度优先搜索以发现后一级边。对于每一层,通过嵌套的深度优先搜索并行检查后一层的边缘,以确认或驳斥循环的存在。提出了几种基本算法的优化方法,并讨论了它们在分布式LTL模型检查中的优缺点。该算法的实验实现取得了良好的效果。
{"title":"Parallel breadth-first search LTL model-checking","authors":"J. Barnat, L. Brim, Jakub Chaloupka","doi":"10.1109/ASE.2003.1240299","DOIUrl":"https://doi.org/10.1109/ASE.2003.1240299","url":null,"abstract":"We propose a practical parallel on-the-fly algorithm for enumerative LTL (linear temporal logic) model checking. The algorithm is designed for a cluster of workstations communicating via MPI (message passing interface). The detection of cycles (faulty runs) effectively employs the so called back-level edges. In particular, a parallel level-synchronized breadth-first search of the graph is performed to discover back-level edges. For each level, the back-level edges are checked in parallel by a nested depth-first search to confirm or refute the presence of a cycle. Several optimizations of the basic algorithm are presented and advantages and drawbacks of their application to distributed LTL model-checking are discussed. Experimental implementation of the algorithm shows promising results.","PeriodicalId":114604,"journal":{"name":"18th IEEE International Conference on Automated Software Engineering, 2003. Proceedings.","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2003-10-06","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129634604","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
Depiction and playout of multi-threaded program executions 多线程程序执行的描述和播放
Abhik Roychoudhury
Execution of a shared memory multi-threaded program is non-deterministic even for a fixed input. Consequently, a limited amount of the program behavior should be traced and recorded during run-time. However, if the tracing overheads are too high, we have the risk of slowing down the program considerably and even distorting the program behavior. In this paper, we propose to collect and store only the synchronization dependencies during run-time. These dependences are visualized as a message sequence chart (MSC). We do not record the data dependences across threads resulting from unsynchronized reads and writes of a shared variable. Instead all possible orderings of unsynchronized reads/writes are analyzed post-mortem. To describe all these behaviors, we use an important extension of message sequence charts called live sequence charts (LSC). Our MSC/LSC based description of a multi-threaded program execution can be simulated in an automated manner. This can help in understanding program behavior.
即使对于固定的输入,共享内存多线程程序的执行也是不确定的。因此,应该在运行时跟踪和记录有限数量的程序行为。然而,如果跟踪开销太高,我们就有可能大大减慢程序的速度,甚至扭曲程序的行为。在本文中,我们建议在运行时仅收集和存储同步依赖项。这些依赖关系被可视化为消息序列图(MSC)。我们不记录由于读写共享变量不同步而导致的跨线程的数据依赖。相反,所有可能的非同步读/写顺序都是事后分析的。为了描述所有这些行为,我们使用消息序列图的一个重要扩展,称为活动序列图(LSC)。我们基于MSC/LSC的多线程程序执行描述可以自动模拟。这有助于理解程序行为。
{"title":"Depiction and playout of multi-threaded program executions","authors":"Abhik Roychoudhury","doi":"10.1109/ASE.2003.1240332","DOIUrl":"https://doi.org/10.1109/ASE.2003.1240332","url":null,"abstract":"Execution of a shared memory multi-threaded program is non-deterministic even for a fixed input. Consequently, a limited amount of the program behavior should be traced and recorded during run-time. However, if the tracing overheads are too high, we have the risk of slowing down the program considerably and even distorting the program behavior. In this paper, we propose to collect and store only the synchronization dependencies during run-time. These dependences are visualized as a message sequence chart (MSC). We do not record the data dependences across threads resulting from unsynchronized reads and writes of a shared variable. Instead all possible orderings of unsynchronized reads/writes are analyzed post-mortem. To describe all these behaviors, we use an important extension of message sequence charts called live sequence charts (LSC). Our MSC/LSC based description of a multi-threaded program execution can be simulated in an automated manner. This can help in understanding program behavior.","PeriodicalId":114604,"journal":{"name":"18th IEEE International Conference on Automated Software Engineering, 2003. Proceedings.","volume":"20 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2003-10-06","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131631041","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
Semi-automatic fault localization and behavior verification for physical system simulation models 物理系统仿真模型的半自动故障定位与行为验证
Peter Bunus, P. Fritzson
Mathematical modeling and simulation of complex physical systems are emerging as key technologies in engineering. Modern approaches to physical system simulation allow users to specify simulation models with the help of equation-based languages. Due to the high-level declarative abstraction of these languages program errors are extremely hard to find. This paper presents an algorithmic semi-automated debugging framework for equation-based modeling languages. We show how program slicing and dicing performed at the intermediate code level combined with assertion checking techniques can automate, to a large extent, the error finding process and behavior verification for physical system simulation models.
复杂物理系统的数学建模与仿真已成为工程领域的关键技术。物理系统仿真的现代方法允许用户在基于方程的语言的帮助下指定仿真模型。由于这些语言的高级声明性抽象,程序错误极其难以发现。本文提出了一种基于方程建模语言的算法半自动调试框架。我们展示了在中间代码级别执行的程序切片和切块与断言检查技术相结合,如何在很大程度上自动化物理系统仿真模型的错误查找过程和行为验证。
{"title":"Semi-automatic fault localization and behavior verification for physical system simulation models","authors":"Peter Bunus, P. Fritzson","doi":"10.1109/ASE.2003.1240315","DOIUrl":"https://doi.org/10.1109/ASE.2003.1240315","url":null,"abstract":"Mathematical modeling and simulation of complex physical systems are emerging as key technologies in engineering. Modern approaches to physical system simulation allow users to specify simulation models with the help of equation-based languages. Due to the high-level declarative abstraction of these languages program errors are extremely hard to find. This paper presents an algorithmic semi-automated debugging framework for equation-based modeling languages. We show how program slicing and dicing performed at the intermediate code level combined with assertion checking techniques can automate, to a large extent, the error finding process and behavior verification for physical system simulation models.","PeriodicalId":114604,"journal":{"name":"18th IEEE International Conference on Automated Software Engineering, 2003. Proceedings.","volume":"168 3-4 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2003-10-06","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"116266313","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}
引用次数: 19
Deriving user interface requirements from densely interleaved scientific computing applications 从密集交错的科学计算应用中导出用户界面需求
A. Strelzoff, L. Petzold
Deriving user interface requirements is a key step in user interface generation and maintenance. For single purpose numeric routines, user interface requirements are relatively simple to derive. However, general numeric packages, which are solvers for entire classes of problems, are densely interleaved with strands shared and mixed among user options. This complexity forms a significant barrier to the derivation of user interface requirements and therefore to user interface generation and maintainance. Our methodology uses a graph representation to find potential user decision points implied by the control structure of the code. This graph is then iteratively refined to form a decision point diagram, a state machine representation of all possible user traversals through a user interface for the underlying code.
导出用户界面需求是生成和维护用户界面的关键步骤。对于单一用途的数值例程,推导用户界面需求相对简单。然而,作为整类问题的解算器的通用数值包,在用户选项之间被共享和混合的链紧密地交织在一起。这种复杂性对用户界面需求的派生,从而对用户界面的生成和维护构成了重大障碍。我们的方法使用图形表示来查找代码控制结构所隐含的潜在用户决策点。然后迭代地细化此图以形成决策点图,这是通过底层代码的用户界面进行所有可能的用户遍历的状态机表示。
{"title":"Deriving user interface requirements from densely interleaved scientific computing applications","authors":"A. Strelzoff, L. Petzold","doi":"10.1109/ASE.2003.1240291","DOIUrl":"https://doi.org/10.1109/ASE.2003.1240291","url":null,"abstract":"Deriving user interface requirements is a key step in user interface generation and maintenance. For single purpose numeric routines, user interface requirements are relatively simple to derive. However, general numeric packages, which are solvers for entire classes of problems, are densely interleaved with strands shared and mixed among user options. This complexity forms a significant barrier to the derivation of user interface requirements and therefore to user interface generation and maintainance. Our methodology uses a graph representation to find potential user decision points implied by the control structure of the code. This graph is then iteratively refined to form a decision point diagram, a state machine representation of all possible user traversals through a user interface for the underlying code.","PeriodicalId":114604,"journal":{"name":"18th IEEE International Conference on Automated Software Engineering, 2003. Proceedings.","volume":"3 2","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2003-10-06","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"133237912","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
期刊
18th IEEE International Conference on Automated Software Engineering, 2003. Proceedings.
全部 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