共查询到20条相似文献,搜索用时 296 毫秒
1.
Java uses exceptions to provide elegant error handling capabilities during program execution. However, the presence of exception handlers complicates the job of the just‐in‐time (JIT) compiler, while exceptions are rarely used in most programs. This paper describes two techniques for reducing such complications. First, we delay the translation of an exception handler until the exception really occurs. This on‐demand translation of exception handlers allows more optimizations when translating the main flow, without being hindered by constraints caused by the exception flows. Secondly, for those exceptions that are actually thrown during program execution we insert exception‐type check code and a direct branch to the translated exception handlers. This exception handler prediction is motivated by an observation that frequently thrown exceptions are likely to be handled by the same exception handlers, so this will eliminate the exception processing overhead of the Java virtual machine. Our experiments indicate that the code quality of the main flow is no longer affected by the presence of exception handlers. Also, frequently thrown exceptions can be efficiently handled by the exception handler prediction. Copyright © 2004 John Wiley & Sons, Ltd. 相似文献
2.
《Information Systems》2001,26(2):93-120
Exception handling in workflow management systems (WFMSs) is a very important problem since it is not possible to specify all possible outcomes and alternatives. Effective reuse of existing exception handlers can greatly help in dealing with workflow exceptions. On the other hand, cooperative support for user-driven computer supported resolution of unexpected exceptions and workflow evolution at run-time is vital for an adaptive WFMS. We have been developing ADOME-WFMS as a comprehensive framework in which the problem of workflow exception handling can be adequately addressed. In this article, we present an adaptive exception manager and its web-based interface for ADOME-WFMS with procedures for supporting the following: reuse of exception handlers, thorough and automated resolution of expected exceptions, effective management of Problem Solving Agents, cooperative exception handling, user-driven computer supported resolution of unexpected exceptions, and workflow evolution. 相似文献
3.
Metal-level compositions of object logic programs are naturally implemented by means of meta-programming techniques. Metainterpreters
defining program compositions however suffer from a computational overhead that is due partly to the interpretation layer
present in all meta-programs, and partly to the specific interpretation layer needed to deal with program compositions.
We show that meta-interpreters implementing compositions of object programs can be fruitfully specialised w.r.t. meta-level
queries of the form Demo (E, G), where E denotes a program expression and G denotes a (partially instantiated) object level
query. More precisely, we describe the design and implementation of declarative program specialiser that suitably transforms
such meta-interpreters so as to sensibly reduce — if not to completely remove — the overhead due to the handling of program
compositions. In many cases the specialiser succeeds in eliminating also the overhead due to meta-interpretation.
Antonio Brogi, Ph.D.: He is currently assistant professor in the Department of Computer Science at the University of Pisa, Italy. He received his
Laurea Degree in Computer Science (1987) and his Ph. D. in Computer Science (1993) from the University of Pisa. His research
interests include programming language design and semantics, logic programming, deductive databases, and software coordination.
Simone Contiero: He is currently a Ph. D. student at the Department of Computer Science, University of Pisa (Italy). He received his Laurea
Degree in Computer Science from the University of Pisa in 1994. His research interests are in high-level programming languages,
metaprogramming and logic-based coordination of software. 相似文献
4.
Exception handling mechanisms were added to programming languages to segregate normal algorithmic processing from error processing. However, handlers which are typically associated with exceptions through a program's control features, clutter source text when features are nested or when different objects require different responses to exceptions. The authors describe a method for associating handlers with data objects in declarations that better segregates algorithmic and error processing. They call their notion data-oriented exception handling to distinguish it from more conventional, control-oriented mechanisms. Empirical studies of Ada programs indicate that conventional exception handling mechanisms are more complex than necessary and that data-oriented exception handling can be used to produce programs that are smaller, better structured, and easier to understand and modify 相似文献
5.
Modeling out-of-order processors for WCET analysis 总被引:1,自引:0,他引:1
Estimating the Worst Case Execution Time (WCET) of a program on a given processor is important for the schedulability analysis
of real-time systems. WCET analysis techniques typically model the timing effects of micro-architectural features in modern
processors (such as pipeline, cache, branch prediction) to obtain safe and tight estimates. In this paper, we model out-of-order superscalar processor pipelines for WCET analysis. The analysis is, in general, difficult even for a basic block (a sequence of instructions
with single-entry and single-exit points) if some of the instructions have variable latencies. This is because the WCET of
a basic block on out-of-order pipelines cannot be obtained by assuming maximum latencies of the individual instructions. Our
timing estimation technique for a basic block proceeds by a fixed-point analysis of the time intervals at which the instructions
enter/leave a pipeline stage. To extend our estimation to whole programs, we use Integer Linear Programming (ILP) to combine
the timing estimates for basic blocks. Timing effects of instruction cache and branch prediction are also modeled within our
pipeline analysis framework. This forms a combined timing analysis framework that captures out-of-order pipeline, cache, branch
prediction as well as the mutual interaction among these micro-architectural features. The accuracy of our analysis is demonstrated
via tight estimates obtained for several benchmarks.
Preliminary version of parts of this paper has previously been published as Li et al. (2004).
Abhik Roychoudhury received his B.E. in Computer Engineering from Jadavpur University (India) in 1995 and his M.S. / Ph.D.
degrees (both in Computer Science) from the State University of New York at Stony Brook in 1997 and 2000 respectively. Since
2001 he has been an Assistant Professor at National University of Singapore. His research interests are in models and methods
for reliable development of embedded software and systems, with specific focus on software validation, analysis and comprehension.
Xianfeng Li is a postdoctoral researcher in the Department of Computer Science and Technology at Peking University, China.
He received his Ph.D. from National University of Singapore in 2005. His research interests include real-time systems, modeling
and evaluation of computer architecture, and System-on-Chips.
Tulika Mitra is an Assistant Professor in School of Computing at National University of Singapore from January 2001. She received
her PhD in Computer Science from SUNY at Stony Brook in December 2000. Tulika received M.E in Computer Science and Automation
from Indian Institute of Science in 1997 and her B.E. in Computer Engineering from Jadavpur University, India in 1995. Her
current research focuses on design and analysis of embedded and real-time systems. 相似文献
6.
We present a generalized let-polymorphic type inference algorithm, prove that any of its instances is sound and complete with
respect to the Hindley/Milner let-polymorphic type system, and find a condition on two instance algorithms so that one algorithm
should find type errors earlier than the other.
By instantiating the generalized algorithm with different parameters, we can obtain not only the two opposite algorithms (the
bottom-up standard algorithmW and the top-down algorithmM) but also other hybrid algorithms which are used in real compilers. Such instances’ soudness and completeness follow automatically,
and their relative earliness in detecting type-errors is determined by checking a simple condition. The set of instances of
the generalized algorithm is a superset of those used in the two most popular ML compilers: SML/NJ and OCaml.
This work is supported by Creative Research Initiatives of the Korean Ministry of Science and Technology
National Creative Research Initiative Center, http://ropas.kaist.ac.kr
Work done while the third author was associated with Korea Advanced Institute of Science and Technology
Hyunjun Eo: He is a Ph.D. candidate in the Department of Computer Science at KAIST (Korea Advanced Institute of Science and Technology).
He recieved his bachelor’s degree and master’s degree in Computer Science from KAIST in 1996 and 1998, respectively. His research
interest has been on static program analysis, fixpoint iteration algorithm and higher-order and typed languages. From fall
1998, he has been a research assistant of the National Creative Research Initiative Center for Research on Program Analysis
System. He is currently working on developing a tool for automatic generation of program analyzer.
Oukseh Lee: He is a Ph.D. candidate in the Department of Computer Science at KAIST (Korea Advanced Institute of Science and Technology).
He received his bachelor’s and master’s degree in Computer Science from KAIST in 1995 and 1997, respectively. His research
interest has been on static program analysis, type system, program language implementation, higher-order and typed languages,
and program verification. From 1998, he has been a research assistant of the National Creative Research Initiative Center
for Research on Program Analysis System. He is currently working on compile-time analyses and verification for the memory
behavior of programs.
Kwangkeun Yi, Ph.D.: His research interest has been on semanticbased program analysis and systems application of language technologies. After
his Ph.D. from University of Illinois at Urbana-Champaign he joined the Software Principles Research Department at Bell Laboratories,
where he worked on various static analysis approaches for higher-order and typed programming languages. For 1995 to 2003 he
was a faculty member in the Department of Computer Science, Korea Advanced Institute of Science and Technology. Since fall
2003, he has been a faculty member in the School of Computer Science and Engineering, Seoul National University. 相似文献
7.
异常处理是现代程序设计语言提供的用来提高软件健壮性的一种机制。由于在C^++的函数界面中并不要求声明该函数所能传播出的异常的类型,所以要想提高系统的健壮性,必须清楚在程序的执行过程中可能引发的异常、异常的传播路径等。然而在大型系统中,要想确定这些信息是非常困难的。本文针对C^++的异常处理机制,首先提出了一个描述C^++异常结构信息的模型,并把该模型应用于递归函数中。然后,描述了一个基于该模型的分析C^++程序异常结构信息的工具CETool。该工具能提供所有显式引发异常的有关信息,为系统中异常处理结构的改进和程序的结构测试提供有价值的信息。最后给出了该工具的实现方法和应用实例。 相似文献
8.
C++程序中异常处理的分析与测试技术研究 总被引:2,自引:1,他引:2
异常处理机制是一种运行时错误通知机制,将程序的正常控制代码和错误处理代码分离.然而异常机制的引入使得程序控制信息变得更为复杂;且开发人员一般难以熟练使用它,导致程序中会潜伏许多异常错误.扩展已有的显式异常分析技术,对隐式异常也进行了全面的分析并提出了过程间(内)控制流图的构造方法,并以此为基础给出了一个C++程序健壮性改进模型.同时还提出了针对异常的两种动态测试策略:基于约束求解的异常测试策略和统计结构性异常测试策略.最后实现了一个初步的异常分析与测试原型工具并进行了初步实验分析,其结果表明本文提出的分析与测试方法对程序质量有较大程度的提高. 相似文献
9.
Roberta Coelho Author Vitae Arndt von Staa Author Vitae 《Information Sciences》2011,181(13):2700-2720
As aspects extend or replace existing functionality at specific join points in the code, their behavior may raise new exceptions, which can flow through the program execution in unexpected ways. Assuring the reliability of exception handling code in aspect-oriented (AO) systems is a challenging task. Testing the exception handling code is inherently difficult, since it is tricky to provoke all exceptions during tests, and the large number of different exceptions that can happen in a system may lead to the test-case explosion problem. Moreover, we have observed that some properties of AO programming (e.g., quantification, obliviousness) may conflict with characteristics of exception handling mechanisms, exacerbating existing problems (e.g., uncaught exceptions). The lack of verification approaches for exception handling code in AO systems stimulated the present work. This work presents a verification approach based on a static analysis tool, called SAFE, to check the reliability of exception handling code in AspectJ programs. We evaluated the effectiveness and feasibility of our approach in two complementary ways (i) by investigating if the SAFE tool is precise enough to uncover exception flow information and (ii) by applying the approach to three medium-sized ApectJ systems from different application domains. 相似文献
10.
We present polynomial-time static semantics-preserving transformations of real-time programs. Used in conjunction with schedulability analysis, the transformations significantly increase the class of real-time programs that may be analyzed efficiently for guaranteed schedulability at compile-time. In cases where the form of resource contention among processes resists efficient transformation, we apply a heuristic transformation (and a consequent run-time scheduling heuristic) to allow the programs to be analyzed efficiently.This work is supported in part by the U.S. Office of Naval Research Grant N00014-92-J-1367 and AT&T UEDP grant 91-134. Work on this paper was completed, and the paper submitted while this author was visiting Department of Computer Science, University of Twente, Enschede, The Netherlands, under the conditions of the NATO Collaborative Research Grant CRG-901007. 相似文献
11.
12.
Java语言的异常处理设计原则 总被引:4,自引:0,他引:4
异常处理是Java语言的重要语言机制,正确地处理异常对程序的可靠性、健壮性是十分重要的。回顾了异常处理技术的概念和思想,对异常处理提出了一套实用的设计原则,并针对Java语言的具体环境,分类介绍了各种异常的常用处理方式。 相似文献
13.
Linguistic mechanisms for exception handling facilitate the production of reliable software and play an important role in fault tolerant computing. This paper describes the functional semantics of a Pascal-like language which supports exception handling and data abstraction. A program with exceptions is considered as having a standard semantics, as well as an exceptional semantics for each exception that may be signaled during its execution. Standard functional semantics methods provide rules to obtain the function representing the standard semantics. In this paper, we provide rules to determine the functions representing the exceptional semantics. We also describe a method for specifying and verifying the correctness of implementation of data types with exceptions. 相似文献
14.
HarkMan—A Vocabulary-Independent Keyword Spotter for Spontaneons Chinese Speech 总被引:2,自引:0,他引:2 下载免费PDF全文
In this paper,a noverl technique adopted in HarkMan is introduced.HarkMan is a keywore-spotter designed to automatically spot the given words of a vocabulary-independent task in unconstrained Chinese telephone speech.The speaking manner and the number of keywords are not limited.This paper focuses on the novel technique which addresses acoustic modeling,keyword spotting network,search strategies,robustness,and rejection.The underlying technologies used in HarkMan given in this paper are useful not only for keyword spotting but also for continuous speech recognition.The system has achieved a figure-of-merit value over 90%. 相似文献
15.
Efficient detection of a class of stable properties 总被引:1,自引:1,他引:1
Summary We present a general protocol for detecting whether a property holds in a distributed system, where the property is a member of a class of stable properties we call thelocally stable properties. Our protocol is based on a decentralized method for constructing a maximal subset of the local states that are mutually consistent, which in turn is based on a weakened version of vector time stamps. The structure of our protocol lends itself to refinement, and we demonstrate its utility by deriving some specialized property-detection protocols, including two previously-known protocols that are known to be efficient.
Laura Sabel received the BSE degree from Princeton University in 1989 and the MS degree in Computer Science from Cornell University in 1992. She is currently a PhD student in the Department of Computer Science at Cornell University. Her research interests include fault-tolerance and distributed systems. she is the recipient of an AT&T PhD Scholarship.
Keith Marzullo received his Ph.D. degree in electrical engineering from Stanford University in 1984. He is an associate professor in the Computer Science and Engineering Department at the University of California, San Diego. His research interests are in the area of fault-tolerance in both asynchronous and real-time distributed systems. He has consulted on several projects including the IBM Air Traffic Control System, and is an associate editor for IEEE Transactions on Software Engineering.This work was supported by the Defense Advanced Research Projects Agency (DoD) under NASA Ames grant number NAG 2-593, and by grants from IBM and Siemens. The views, opinions, and findings contained in this report are those of the authors and should not be construed as an official Department of Defense position, policy, or decision. An earlier version of this paper appears in theProceedings of the 5th International Workshop on Distributed Systems, October 1991, Springer-Verlag LNCS Vol. 579This author is also supported by an AT&T PhD Scholarship 相似文献
16.
17.
18.
高德龙 《数字社区&智能家居》2009,(11)
对Java程序设计中出现的异常处理技术进行了研究,对Java异常处理知识进行了必要的介绍和简单的分析,并总结了几种在Java程序设计中如何定义和使用异常类。 相似文献
19.
Java异常处理机制的研究 总被引:7,自引:0,他引:7
异常处理是Java语言的重要语言机制,正确、合理地处理异常对程序的可靠性、健壮性是十分重要的。在分析了异常处理技术的概念和思想后,对异常处理提出了指导原则,并针对检查型异常和非检查型异常的差异,探讨了对应的解决措施。 相似文献
20.
In software testing, developing effective debugging strategies is important to guarantee the reliability of software under
testing. A heuristic technique is to cause failure and therefore expose faults. Based on this approach mutation testing has
been found very useful technique in detecting faults. However, it suffers from two problems with successfully testing programs:
(1) requires extensive computing resources and (2) puts heavy demand on human resources. Later, empirical observations suggest
that critical slicing based on Statement Deletion (Sdl) mutation operator has been found the most effective technique in reducing
effort and the required computing resources in locating the program faults. The second problem of mutation testing may be
solved by automating the program testing with the help of software tools. Our study focuses on determining the effectiveness
of the critical slicing technique with the help of the Mothra Mutation Testing System in detecting program faults. This paper
presents the results showing the performance of Mothra Mutation Testing System through conducting critical slicing testing
on a selected suite of programs.
Zuhoor Abdullah Al-Khanjari is an assistant professor in the Computer Science Department at Sultan Qaboos University, Sultanate of Oman. She received
her BSc in mathematics and computing from Sultan Qaboos University, MSc and PhD in Computer Science (Software Engineering)
from the University of Liverpool, UK. Her research interests include software testing, database management, e-learning, human-computer
interaction, programming languages, intelligent search engines, and web data mining and development. ~Currently, she is the
coordinator of the software engineering research group in the Department of Computer Science, College of Science, Sultan Qaboos
University. She is also coordinating a program to develop e-learning based undergraduate teaching in the Department of Computer
Science. Currently she is holding the position of assistant dean for postgraduate studies and research in the College of Science,
Sultan Qaboos University, Sultanate of Oman.
Martin Woodward is a Senior Fellow in the Computer Science Department at the University of Liverpool in the UK. After obtaining BSc and Ph.D.
degrees in mathematics from the University of Nottingham, he was employed by the University of Oxford as a Research Assistant
on secondment to the UK Atomic Energy Authority at the Culham Laboratory. He has been at the University of Liverpool for many
years and initially worked on the so-called ‘Testbed’ project, helping to develop automated tools for software testing which
are now marketed successfully by a commercial organisation. His research interests include software testing techniques, the
relationship between formal methods and testing, and software visualisation. He has served as Editor of the journal ‘Software
Testing, Verification and Reliability’ for the past thirteen years.
Haider Ramadhan is an associate professor in the Computer Science Department at Sultan Qaboos University. He received his BS and MS in Computer
Science from University of North Carolina, and the PhD in Computer Science and AI from Sussex University. His research interests
include visualization of software, systems, and process, system engineering, human-computer interaction, intelligent search
engines, and Web data mining and development. Currently, he is the chairman of the Computer Science Department, College of
Science, Sultan Qaboos University, Sultanate of Oman.
Swamy Kutti
(N. S. Kutti) is an associate professor in the Computer Science Department at Sultan Qaboos University. He received his B.E. in Electronics
Engineering from the University of Madras, M.E. in Communication Engineering from Indian Institute of Science (Bangalore),
and the MSc in Computer Science from Monash University (Australia) and PhD in Computer Science from Deakin University (Australia).
His research interests include Real-Time Programming, Programming Languages, Program Testing and Verification, eLearning,
and Distributed Operating Systems. 相似文献