One of the important obligations of an expanding research area is to discuss how to approach the teaching of the subject. Without this discussion, we may find that the word is not spread properly, and thus that the re...
详细信息
When interpreted as a model for structuring programs and organizing computations, the object-oriented paradigm can be thought as a set of abstractions independent of the host language. By generalizing the notion of ob...
详细信息
Today's distributed computing environment presents a jungle of systems that use different object models, programming languages, and paradigms. Taking maximum advantage of these diverse resources requires that they...
详细信息
One of the key concepts available in many object-orientedprogramming languages is that of type-inheritance, which permits new types to be derived from, and inherit the capabilities of, old types. This paper describes...
详细信息
The power of objects lies in the flexibility of their interconnection structure. But this flexibility comes at a cost. Because an object can be modified via any alias, object-oriented programs are hard to understand, ...
详细信息
ISBN:
(纸本)354022405X
The power of objects lies in the flexibility of their interconnection structure. But this flexibility comes at a cost. Because an object can be modified via any alias, object-oriented programs are hard to understand, maintain, and analyse. Aliasing makes objects depend on their environment in unpredictable ways, breaking the encapsulation necessary for reliable software components, thus making it difficult to reason about and optimise programs, obscuring the flow of information between objects, and introducing security problems. Aliasing is a fundamental difficulty, but we accept its presence. Instead we seek techniques for describing, reasoning about, restricting, analysing, and preventing the connections between objects and the flow of information between them.
The information of execution frequencies of virtual call targets is valuable for program analyses and optimizations of object-oriented programs. However, to obtain this information, most of the existing approaches rel...
详细信息
ISBN:
(纸本)9783642226557;9783642226540
The information of execution frequencies of virtual call targets is valuable for program analyses and optimizations of object-oriented programs. However, to obtain this information, most of the existing approaches rely on dynamic profiling. They usually require running the programs with representative workloads, which are often absent in practice. Additionally, some kinds of programs are very sensitive to run-time disturbance, thus are generally not suitable for dynamic profiling. Therefore, a technique which can statically estimate the execution frequencies of virtual call targets will be very useful. In this paper we propose an evidence-based approach to frequency estimation of virtual call targets. By applying machine learning algorithms on the data collected from a group of selected programs, our approach builds an estimation model to capture the relations between static features and run-time program behaviors. Then, for a new program, the approach estimates the relative frequency for each virtual call target by applying the model to the static features of the program. Once the model has been built, the estimation step is purely static, thus does not suffer the shortcomings of existing dynamic techniques. We have performed a number of experiments on real-world large-scale programs to evaluate our approach. The results show that our approach can estimate frequency distributions which are much more informative than the commonly used uniform distribution.
Modern programming languages have little or no support for querying objects and collections. Programmers are forced to hand code such queries using nested loops, which is both cumbersome and inefficient. We demonstrat...
详细信息
objectoriented Interoperability is an extension and generalization of the Procedure oriented Interoperability approaches taken in the past. It provides an interoperability support frame by considering the object as t...
详细信息
The "programs are data" philosophy of Lisp uses Lisp’s S-expressions to represent programs, and permits a program written in Lisp itself to implement the interpreter for the language. object-oriented langua...
详细信息
暂无评论