首页 > 最新文献

Proceedings 13th IEEE International Conference on Automated Software Engineering (Cat. No.98EX239)最新文献

英文 中文
Don't verify, abstract! 不要验证,抽象!
C. O'Halloran, Alf Smith
Describes a notation and tool for demonstrating to a third-party certifier that software written in a subset of Ada is safe, and gives some experience of using them on real projects. The thesis underlying the design is that people write adequate code, but that they make design and implementation decisions which can conflict with each other to introduce safety problems. The usual paradigm of formally specifying and then developing and verifying the code is less cost-effective than writing the code and then abstracting it to a level that is suitable for human judgements to be made. This is because there are more people who know how to write good code than those who can write effective formal specifications. The tool processes a formal, or informal, argument that code meets its safety requirements using literate programming and concepts from the refinement calculus developed at Oxford University.
描述了一个符号和工具,用于向第三方证明用Ada子集编写的软件是安全的,并给出了在实际项目中使用它们的一些经验。这种设计背后的论点是,人们编写了足够的代码,但他们做出的设计和实现决策可能会相互冲突,从而引入安全问题。正式指定然后开发和验证代码的通常范例比编写代码然后将其抽象到适合人类判断的级别的成本效益更低。这是因为知道如何编写好的代码的人比能够编写有效的正式规范的人要多。该工具使用来自牛津大学开发的精化演算的识字编程和概念来处理代码满足其安全需求的正式或非正式的论证。
{"title":"Don't verify, abstract!","authors":"C. O'Halloran, Alf Smith","doi":"10.1109/ASE.1998.732573","DOIUrl":"https://doi.org/10.1109/ASE.1998.732573","url":null,"abstract":"Describes a notation and tool for demonstrating to a third-party certifier that software written in a subset of Ada is safe, and gives some experience of using them on real projects. The thesis underlying the design is that people write adequate code, but that they make design and implementation decisions which can conflict with each other to introduce safety problems. The usual paradigm of formally specifying and then developing and verifying the code is less cost-effective than writing the code and then abstracting it to a level that is suitable for human judgements to be made. This is because there are more people who know how to write good code than those who can write effective formal specifications. The tool processes a formal, or informal, argument that code meets its safety requirements using literate programming and concepts from the refinement calculus developed at Oxford University.","PeriodicalId":306519,"journal":{"name":"Proceedings 13th IEEE International Conference on Automated Software Engineering (Cat. No.98EX239)","volume":"281 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1998-10-13","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"116505850","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
Planning equational verification in CCS CCS中的规划等式验证
R. Monroy, A. Bundy, Ian Green
Most efforts to automate the formal verification of communicating systems have centred around finite-state systems (FSSs). However, FSSs are incapable of modelling many practical communicating systems, and hence there is interest in a novel class of problems, which we call VIPSs (Value-passing Infinite-state Parameterised Systems). Existing approaches using model checking over FSSs are insufficient for VIPSs, due to their inability both to reason with and about domain-specific theories, and to cope with systems having an unbounded or arbitrary state space. We use the Calculus of Communicating Systems (CCS) with parameterised constants to express and specify VIPSs. We use the laws of CCS to conduct the verification task. This approach allows us to study communicating systems, regardless of their state space, and the data such systems communicate. Automating theorem proving in this system is an extremely difficult task. We provide automated methods for CCS analysis; they are applicable to both FSSs and VIPSs. Adding these methods to the Clam proof-planner, we have implemented an automated theorem prover that is capable of dealing with problems outside the scope of current methods. This paper describes these methods, gives an account as to why they work and provides a short summary of experimental results.
大多数通信系统的形式化验证自动化的努力都集中在有限状态系统(fss)上。然而,fss无法对许多实际的通信系统进行建模,因此人们对一类新的问题感兴趣,我们称之为vips(值传递无限状态参数化系统)。现有的对fss进行模型检查的方法对vips来说是不够的,因为它们既不能用特定领域的理论进行推理,也不能处理具有无界或任意状态空间的系统。我们使用带有参数化常数的通信系统演算(CCS)来表示和指定vips。我们使用CCS的规律来进行验证任务。这种方法允许我们研究通信系统,而不考虑它们的状态空间,以及这些系统通信的数据。在这个系统中自动化定理证明是一项极其困难的任务。我们提供自动化的CCS分析方法;适用于金融稳定服务机构和贵宾服务机构。将这些方法添加到Clam证明计划器中,我们实现了一个自动化定理证明器,它能够处理当前方法范围之外的问题。本文描述了这些方法,给出了它们工作的原因,并提供了实验结果的简短总结。
{"title":"Planning equational verification in CCS","authors":"R. Monroy, A. Bundy, Ian Green","doi":"10.1109/ASE.1998.732569","DOIUrl":"https://doi.org/10.1109/ASE.1998.732569","url":null,"abstract":"Most efforts to automate the formal verification of communicating systems have centred around finite-state systems (FSSs). However, FSSs are incapable of modelling many practical communicating systems, and hence there is interest in a novel class of problems, which we call VIPSs (Value-passing Infinite-state Parameterised Systems). Existing approaches using model checking over FSSs are insufficient for VIPSs, due to their inability both to reason with and about domain-specific theories, and to cope with systems having an unbounded or arbitrary state space. We use the Calculus of Communicating Systems (CCS) with parameterised constants to express and specify VIPSs. We use the laws of CCS to conduct the verification task. This approach allows us to study communicating systems, regardless of their state space, and the data such systems communicate. Automating theorem proving in this system is an extremely difficult task. We provide automated methods for CCS analysis; they are applicable to both FSSs and VIPSs. Adding these methods to the Clam proof-planner, we have implemented an automated theorem prover that is capable of dealing with problems outside the scope of current methods. This paper describes these methods, gives an account as to why they work and provides a short summary of experimental results.","PeriodicalId":306519,"journal":{"name":"Proceedings 13th IEEE International Conference on Automated Software Engineering (Cat. No.98EX239)","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1998-10-13","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129123836","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}
引用次数: 6
The very idea of software development environments: a conceptual architecture for the arts' environment paradigm 软件开发环境的概念:艺术环境范例的概念架构
A. Haeberer, T. Maibaum
For the last three years the authors have been building an instantiation of a system development paradigm, called ARTS. The paradigm consists of a view of what a system development environment is, in general terms, and a methodology for instantiating the paradigm for particular and specific domains of application. The motivation for and the explanation of the paradigm are derived from extant epistemological models of the method of natural science. They assert that these models are directly applicable to the domain of software and systems construction, and that, from them, one can derive principles and explanations for what a software development environment should be. They present briefly the statement view of scientific theories, a conceptual architecture for software development environments whose rationale is given in terms of the statement view and some examples of how the present version of ARTS realises this conceptual architecture.
在过去的三年中,作者一直在构建一个系统开发范例的实例,称为ARTS。范例由一个系统开发环境的视图组成,一般来说,以及一个为特定的应用程序领域实例化范例的方法。范式的动机和解释来源于现存的自然科学方法的认识论模型。他们断言这些模型直接适用于软件和系统构建领域,并且,从它们中,人们可以推导出软件开发环境应该是什么样子的原则和解释。他们简要地介绍了科学理论的陈述视图,软件开发环境的概念架构,其基本原理是根据陈述视图给出的,并举例说明了当前版本的ARTS如何实现这种概念架构。
{"title":"The very idea of software development environments: a conceptual architecture for the arts' environment paradigm","authors":"A. Haeberer, T. Maibaum","doi":"10.1109/ASE.1998.732667","DOIUrl":"https://doi.org/10.1109/ASE.1998.732667","url":null,"abstract":"For the last three years the authors have been building an instantiation of a system development paradigm, called ARTS. The paradigm consists of a view of what a system development environment is, in general terms, and a methodology for instantiating the paradigm for particular and specific domains of application. The motivation for and the explanation of the paradigm are derived from extant epistemological models of the method of natural science. They assert that these models are directly applicable to the domain of software and systems construction, and that, from them, one can derive principles and explanations for what a software development environment should be. They present briefly the statement view of scientific theories, a conceptual architecture for software development environments whose rationale is given in terms of the statement view and some examples of how the present version of ARTS realises this conceptual architecture.","PeriodicalId":306519,"journal":{"name":"Proceedings 13th IEEE International Conference on Automated Software Engineering (Cat. No.98EX239)","volume":"4 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1998-10-13","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"133696408","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}
引用次数: 16
Developing the designer's toolkit with software comprehension models 使用软件理解模型开发设计人员的工具包
Andrew Walenstein
Cognitive models of software comprehension are potential sources of theoretical knowledge for tool designers. Although their use in the analysis of existing tools is fairly well established, the literature has shown only limited use of such models for directly developing design ideas. This paper suggests a way of utilizing existing cognitive models of software comprehension to generate design goals and suggest design strategies early in the development cycle. A crucial part of our method is a scheme for explaining the value of tool features by describing the mechanisms that are presumed to underly the expected improvements in task performance.
软件理解的认知模型是工具设计者理论知识的潜在来源。尽管它们在分析现有工具中的使用已经相当成熟,但文献显示,这些模型在直接开发设计思想方面的使用非常有限。本文提出了一种利用现有的软件理解认知模型来生成设计目标的方法,并在开发周期的早期提出设计策略。我们方法的一个关键部分是通过描述被假定为任务性能预期改进的机制来解释工具特性价值的方案。
{"title":"Developing the designer's toolkit with software comprehension models","authors":"Andrew Walenstein","doi":"10.1109/ASE.1998.732687","DOIUrl":"https://doi.org/10.1109/ASE.1998.732687","url":null,"abstract":"Cognitive models of software comprehension are potential sources of theoretical knowledge for tool designers. Although their use in the analysis of existing tools is fairly well established, the literature has shown only limited use of such models for directly developing design ideas. This paper suggests a way of utilizing existing cognitive models of software comprehension to generate design goals and suggest design strategies early in the development cycle. A crucial part of our method is a scheme for explaining the value of tool features by describing the mechanisms that are presumed to underly the expected improvements in task performance.","PeriodicalId":306519,"journal":{"name":"Proceedings 13th IEEE International Conference on Automated Software Engineering (Cat. No.98EX239)","volume":"14 2 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1998-10-13","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127593340","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}
引用次数: 6
Brewing fresh Java from legacy Lisp-an experiment in automated reverse engineering 从遗留的lisp中酝酿出新的Java——一个自动化逆向工程的实验
T. Harmer, J. M. Boyle
The issues of re-engineering and reverse engineering have become important ones in the computing industry. A legacy system that has evolved has usually been worked on by many different programmers and reflects the different programming styles as practised by those programmers. We address the re-engineering of a large system, the TAMPR automatic program transformation system, written in pure Lisp. TAMPR is an essential tool in ongoing research on potential applications of automated program transformation. The program implementing the TAMPR system is better designed and more consistently coded than most legacy systems. Why, then, is reverse engineering being attempted for this system, given that it suffers few of the problems of more traditionally implemented legacy systems? We are interested in studying the problem of abstraction in reverse engineering, and the TAMPR system, with its systematic design and coding, provides a good starting point for studying approaches to automated abstraction to an object-oriented form. In addition, while the system in its present form meets the current needs of its users, there are problems with providing widely available, efficient implementations of the system. The target language for this experiment in reverse engineering is Java. Java was chosen because of its widespread availability, claimed portability and its integration with components for the construction of graphical user interfaces. We use TAMPR transformations to reverse engineer the TAMPR program itself.
再工程和逆向工程问题已经成为计算行业的重要问题。遗留系统通常由许多不同的程序员开发,并反映了这些程序员所实践的不同编程风格。我们讨论了一个大型系统的再工程,TAMPR自动程序转换系统,用纯Lisp编写。TAMPR是正在进行的自动化程序转换潜在应用研究中必不可少的工具。实现TAMPR系统的程序比大多数遗留系统设计得更好,编码也更一致。那么,既然这个系统很少遭受传统上实现的遗留系统的问题,为什么还要对它进行逆向工程呢?我们对研究逆向工程中的抽象问题很感兴趣,而TAMPR系统,其系统化的设计和编码,为研究自动抽象到面向对象形式的方法提供了一个很好的起点。此外,虽然目前形式的系统满足其用户的当前需要,但在提供广泛可用和有效的系统实施方面存在问题。这个逆向工程实验的目标语言是Java。选择Java是因为它的广泛可用性、可移植性和与组件的集成,以构建图形用户界面。我们使用TAMPR转换来对TAMPR程序本身进行逆向工程。
{"title":"Brewing fresh Java from legacy Lisp-an experiment in automated reverse engineering","authors":"T. Harmer, J. M. Boyle","doi":"10.1109/ASE.1998.732689","DOIUrl":"https://doi.org/10.1109/ASE.1998.732689","url":null,"abstract":"The issues of re-engineering and reverse engineering have become important ones in the computing industry. A legacy system that has evolved has usually been worked on by many different programmers and reflects the different programming styles as practised by those programmers. We address the re-engineering of a large system, the TAMPR automatic program transformation system, written in pure Lisp. TAMPR is an essential tool in ongoing research on potential applications of automated program transformation. The program implementing the TAMPR system is better designed and more consistently coded than most legacy systems. Why, then, is reverse engineering being attempted for this system, given that it suffers few of the problems of more traditionally implemented legacy systems? We are interested in studying the problem of abstraction in reverse engineering, and the TAMPR system, with its systematic design and coding, provides a good starting point for studying approaches to automated abstraction to an object-oriented form. In addition, while the system in its present form meets the current needs of its users, there are problems with providing widely available, efficient implementations of the system. The target language for this experiment in reverse engineering is Java. Java was chosen because of its widespread availability, claimed portability and its integration with components for the construction of graphical user interfaces. We use TAMPR transformations to reverse engineer the TAMPR program itself.","PeriodicalId":306519,"journal":{"name":"Proceedings 13th IEEE International Conference on Automated Software Engineering (Cat. No.98EX239)","volume":"64 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1998-10-13","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"121922914","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
Automated integrative analysis of state-based requirements 基于状态的需求的自动集成分析
Barbara J. Czerny, M. Heimdahl
Statically analyzing requirements specifications to assure that they possess desirable properties is an important activity in any rigorous software development project. The analysis is performed on an abstraction of the original requirements specification. Abstractions in the model may lead to spurious errors in the analysis output. Spurious errors are conditions that are reported as errors, but information abstracted out of the model precludes the reported conditions from being satisfied. A high ratio of spurious errors to true errors in the analysis output makes it difficult, error-prone, and time consuming to find and correct the true errors. We describe an iterative and integrative approach for analyzing state-based requirements that capitalizes on the strengths of a symbolic analysis component and a reasoning component while circumventing their weaknesses. The resulting analysis method is fast enough and automated enough to be used on a day-to-day basis by practicing engineers, and generates analysis reports with a small ratio of spurious errors to true errors.
在任何严格的软件开发项目中,静态分析需求规范以确保它们具有理想的属性是一项重要的活动。分析是在原始需求规范的抽象上执行的。模型中的抽象可能导致分析输出中出现虚假错误。虚假错误是作为错误报告的条件,但是从模型中抽象出来的信息排除了报告的条件不被满足。分析输出中假错误与真错误的高比率使得查找和纠正真错误变得困难、容易出错且耗时。我们描述了一种迭代和集成的方法,用于分析基于状态的需求,该方法利用了符号分析组件和推理组件的优势,同时规避了它们的弱点。由此产生的分析方法足够快,并且足够自动化,可以由实践工程师在日常基础上使用,并且生成的分析报告中假错误与真错误的比例很小。
{"title":"Automated integrative analysis of state-based requirements","authors":"Barbara J. Czerny, M. Heimdahl","doi":"10.1109/ASE.1998.732601","DOIUrl":"https://doi.org/10.1109/ASE.1998.732601","url":null,"abstract":"Statically analyzing requirements specifications to assure that they possess desirable properties is an important activity in any rigorous software development project. The analysis is performed on an abstraction of the original requirements specification. Abstractions in the model may lead to spurious errors in the analysis output. Spurious errors are conditions that are reported as errors, but information abstracted out of the model precludes the reported conditions from being satisfied. A high ratio of spurious errors to true errors in the analysis output makes it difficult, error-prone, and time consuming to find and correct the true errors. We describe an iterative and integrative approach for analyzing state-based requirements that capitalizes on the strengths of a symbolic analysis component and a reasoning component while circumventing their weaknesses. The resulting analysis method is fast enough and automated enough to be used on a day-to-day basis by practicing engineers, and generates analysis reports with a small ratio of spurious errors to true errors.","PeriodicalId":306519,"journal":{"name":"Proceedings 13th IEEE International Conference on Automated Software Engineering (Cat. No.98EX239)","volume":"32 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1998-10-13","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"114979215","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
Testing using log file analysis: tools, methods, and issues 使用日志文件分析进行测试:工具、方法和问题
J. Andrews
Large software systems often keep log files of events. Such log files can be analyzed to check whether a run of a program reveals faults in the system. We discuss how such log files can be used in software testing. We present a framework for automatically analyzing log files, and describe a language for specifying analyzer programs and an implementation of that language. The language permits compositional, compact specifications of software, which act as test oracles; we discuss the use and efficacy of these oracles for unit- and system-level testing in various settings. We explore methodological issues such as efficiency and logging policies, and the scope and limitations of the framework. We conclude that testing using log file analysis constitutes a useful methodology for software verification, somewhere between current testing practice and formal verification methodologies.
大型软件系统通常保存事件的日志文件。可以分析这些日志文件,以检查程序的运行是否揭示了系统中的错误。我们将讨论如何在软件测试中使用这些日志文件。我们提出了一个自动分析日志文件的框架,并描述了一种用于指定分析程序的语言和该语言的实现。该语言允许组合、紧凑的软件规范,充当测试预言机;我们将讨论这些oracle在各种设置下用于单元级和系统级测试的使用和有效性。我们探讨了方法问题,如效率和日志记录策略,以及框架的范围和局限性。我们得出结论,使用日志文件分析的测试构成了软件验证的一种有用的方法,介于当前的测试实践和正式的验证方法之间。
{"title":"Testing using log file analysis: tools, methods, and issues","authors":"J. Andrews","doi":"10.1109/ASE.1998.732614","DOIUrl":"https://doi.org/10.1109/ASE.1998.732614","url":null,"abstract":"Large software systems often keep log files of events. Such log files can be analyzed to check whether a run of a program reveals faults in the system. We discuss how such log files can be used in software testing. We present a framework for automatically analyzing log files, and describe a language for specifying analyzer programs and an implementation of that language. The language permits compositional, compact specifications of software, which act as test oracles; we discuss the use and efficacy of these oracles for unit- and system-level testing in various settings. We explore methodological issues such as efficiency and logging policies, and the scope and limitations of the framework. We conclude that testing using log file analysis constitutes a useful methodology for software verification, somewhere between current testing practice and formal verification methodologies.","PeriodicalId":306519,"journal":{"name":"Proceedings 13th IEEE International Conference on Automated Software Engineering (Cat. No.98EX239)","volume":"8 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1998-10-13","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128538888","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}
引用次数: 98
Automated knowledge acquisition and application for software development projects 软件开发项目的自动化知识获取和应用
E. Baisch, Thomas Liedtke
The application of empirical knowledge about the environment-dependent software development process is mostly based on heuristics. In this paper, we show how one can express these heuristics by using a tailored fuzzy expert system. Metrics are used as input, enabling a prediction for a related quality factor like correctness, defined as the inverse of criticality or error-proneness. By using genetic algorithms, we are able to extract the complete fuzzy expert system out of the available data of a finished project. We describe its application for the next project executed in the same development environment. As an example, we use complexity metrics which are used to predict the error-proneness of software modules. The feasibility and effectiveness of the approach is demonstrated with results from large switching system software projects. We present a summary of the lessons learned and give our ideas about further applications of the approach.
基于环境的软件开发过程的经验知识的应用主要基于启发式。在本文中,我们展示了如何用一个定制的模糊专家系统来表达这些启发式。度量被用作输入,能够预测相关的质量因素,如正确性,定义为临界性或错误倾向的倒数。利用遗传算法,我们能够从已完成项目的可用数据中提取出完整的模糊专家系统。我们描述了它在同一开发环境中执行的下一个项目中的应用。作为一个例子,我们使用复杂性度量来预测软件模块的错误倾向。通过大型交换系统软件工程的实例验证了该方法的可行性和有效性。我们总结了经验教训,并对该方法的进一步应用提出了我们的想法。
{"title":"Automated knowledge acquisition and application for software development projects","authors":"E. Baisch, Thomas Liedtke","doi":"10.1109/ASE.1998.732686","DOIUrl":"https://doi.org/10.1109/ASE.1998.732686","url":null,"abstract":"The application of empirical knowledge about the environment-dependent software development process is mostly based on heuristics. In this paper, we show how one can express these heuristics by using a tailored fuzzy expert system. Metrics are used as input, enabling a prediction for a related quality factor like correctness, defined as the inverse of criticality or error-proneness. By using genetic algorithms, we are able to extract the complete fuzzy expert system out of the available data of a finished project. We describe its application for the next project executed in the same development environment. As an example, we use complexity metrics which are used to predict the error-proneness of software modules. The feasibility and effectiveness of the approach is demonstrated with results from large switching system software projects. We present a summary of the lessons learned and give our ideas about further applications of the approach.","PeriodicalId":306519,"journal":{"name":"Proceedings 13th IEEE International Conference on Automated Software Engineering (Cat. No.98EX239)","volume":"426 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1998-10-13","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"123148643","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
Task oriented software understanding 面向任务的软件理解
Ali Erdem, W. Johnson, S. Marsella
The main factors that affect software understanding are the complexity of the problem solved by the program, the program text, the user's mental ability and experience and the task being performed. The paper describes a planning approach solution to the software understanding problem that focuses on the user's task and expertise. First, user questions about software artifacts have been studied and the most commonly asked questions are identified. These questions are organized into a question model and procedures for answering them are developed. Then, the patterns in user questions while performing certain tasks have been studied and these patterns are used to build generic task models. The explanation system uses these task models in several ways. The task model, along with a user model, is used to generate explanations tailored to the user's task and expertise. In addition, the task model allows the system to provide explicit task support in its interface.
影响软件理解的主要因素是程序所解决问题的复杂性、程序文本、用户的心智能力和经验以及所执行的任务。本文描述了一种以用户的任务和专业知识为重点的软件理解问题的规划方法解决方案。首先,研究了关于软件工件的用户问题,并确定了最常见的问题。这些问题被组织成一个问题模型,并制定了回答这些问题的程序。然后,研究用户在执行特定任务时的问题模式,并使用这些模式构建通用任务模型。解释系统以几种方式使用这些任务模型。任务模型和用户模型用于生成针对用户任务和专业知识的解释。此外,任务模型允许系统在其接口中提供显式的任务支持。
{"title":"Task oriented software understanding","authors":"Ali Erdem, W. Johnson, S. Marsella","doi":"10.1109/ASE.1998.732658","DOIUrl":"https://doi.org/10.1109/ASE.1998.732658","url":null,"abstract":"The main factors that affect software understanding are the complexity of the problem solved by the program, the program text, the user's mental ability and experience and the task being performed. The paper describes a planning approach solution to the software understanding problem that focuses on the user's task and expertise. First, user questions about software artifacts have been studied and the most commonly asked questions are identified. These questions are organized into a question model and procedures for answering them are developed. Then, the patterns in user questions while performing certain tasks have been studied and these patterns are used to build generic task models. The explanation system uses these task models in several ways. The task model, along with a user model, is used to generate explanations tailored to the user's task and expertise. In addition, the task model allows the system to provide explicit task support in its interface.","PeriodicalId":306519,"journal":{"name":"Proceedings 13th IEEE International Conference on Automated Software Engineering (Cat. No.98EX239)","volume":"38 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1998-10-13","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"133490545","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}
引用次数: 31
Statically checkable design level traits 静态可检查的设计关卡特征
J. Gil, Y. Eckel
The paper is concerned with those properties of software that can be statically surmised from the source code. Many such properties have been extensively studied from the perspective of compiler construction technology. However, live variable analysis, alias analysis and the such are too low level to be of interest to the software engineer. The authors identify a family of statically checkable properties that should represent a higher level abstraction, and reach the detailed design level. Properties in this family which is defined by five precise distinguishing criteria are called traits. Some examples of traits include mutability, const correctness, ownership, and pure functions. In fact, in many ways, traits are non-standard types. They argue that traits should bring about similar benefits to these of static typing in terms of clarity, understandability, adherence to design decisions, and robustness. They further argue that traits can be used for better checking of substitutability in inheritance relationships. Having made the case for traits, they proceed to describing a taxonomy for classifying and understanding traits and show how it can be used to better understand previous work on this topic. The paper also discusses the abstract computational complexity of traits and compares previous research from that perspective.
本文关注的是那些可以从源代码静态地推测出来的软件属性。从编译器构造技术的角度对这些特性进行了广泛的研究。然而,动态变量分析、别名分析等都是低层次的,软件工程师对此并不感兴趣。作者确定了一系列静态可检查的属性,这些属性应该代表更高级别的抽象,并达到详细设计级别。在这个家族中,由五个精确的区分标准定义的属性被称为特征。特性的一些例子包括可变性、const正确性、所有权和纯函数。事实上,在很多方面,特征都是非标准类型。他们认为,在清晰度、可理解性、对设计决策的遵从性和健壮性方面,特征应该带来与静态类型相似的好处。他们进一步认为,性状可以用来更好地检查继承关系中的可替代性。在对特征进行了论证之后,他们接着描述了一种分类和理解特征的分类法,并展示了如何使用它来更好地理解之前在这个主题上的工作。本文还讨论了特征的抽象计算复杂性,并从这个角度比较了前人的研究。
{"title":"Statically checkable design level traits","authors":"J. Gil, Y. Eckel","doi":"10.1109/ASE.1998.732651","DOIUrl":"https://doi.org/10.1109/ASE.1998.732651","url":null,"abstract":"The paper is concerned with those properties of software that can be statically surmised from the source code. Many such properties have been extensively studied from the perspective of compiler construction technology. However, live variable analysis, alias analysis and the such are too low level to be of interest to the software engineer. The authors identify a family of statically checkable properties that should represent a higher level abstraction, and reach the detailed design level. Properties in this family which is defined by five precise distinguishing criteria are called traits. Some examples of traits include mutability, const correctness, ownership, and pure functions. In fact, in many ways, traits are non-standard types. They argue that traits should bring about similar benefits to these of static typing in terms of clarity, understandability, adherence to design decisions, and robustness. They further argue that traits can be used for better checking of substitutability in inheritance relationships. Having made the case for traits, they proceed to describing a taxonomy for classifying and understanding traits and show how it can be used to better understand previous work on this topic. The paper also discusses the abstract computational complexity of traits and compares previous research from that perspective.","PeriodicalId":306519,"journal":{"name":"Proceedings 13th IEEE International Conference on Automated Software Engineering (Cat. No.98EX239)","volume":"143 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1998-10-13","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"114453214","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
期刊
Proceedings 13th IEEE International Conference on Automated Software Engineering (Cat. No.98EX239)
全部 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