The history of computer science has shown that decomposing software applications helps managing their complexity and facilitates reuse, but also bears challenging problems still unsolved, such as the assembly of the d...
详细信息
Call graph construction has been an important area of research within the compilers and programming languages community. However, all existing techniques focus on exhaustive analysis of all the call-sites in the progr...
详细信息
ISBN:
(纸本)354067263X
Call graph construction has been an important area of research within the compilers and programming languages community. However, all existing techniques focus on exhaustive analysis of all the call-sites in the program. With increasing importance of just-in-time or dynamic compilation and use of program analysis as part of the software development environments, we believe that there is a need for techniques for demand-driven construction of the call graph. We present a demand-driven call graph construction framework in this paper, focusing on the dynamic calls due to polymorphism. in object-oriented languages. We use a variant of Callahan's Program Summary Graph (PSG) and perform analysis over a set of influencing nodes. We show that our demand-driven technique has the same accuracy as the corresponding exhaustive technique. The reduction in the graph construction time depends upon the ratio of the cardinality of the set of influencing nodes to the set of all nodes.
Real-time systems are notoriously difficult to design and implement, and, as many real-time problems are safety-critical, their solutions must be reliable as well as efficient and correct. While higher-level programmi...
详细信息
CORBA lacks a mature interface versioning system, which makes it difficult to use in the implementation of tightly-coupled distributed systems. There are patterns of inheritance that can substitute for specialized ver...
详细信息
Software evolution has largely been focused on low-level implementation artefacts through refactoring techniques rather than the architectural level. However code-centric evolution techniques have not managed to effec...
详细信息
object invariants describe the consistency of object-oriented data structures and are central to reasoning about the correctness of object-oriented software. Yet, reasoning about object invariants in the presence of o...
详细信息
Product configuration management is presented as a practical application for a prototype-based object model. Data model requirements for a configuration system are first introduced using a realistic example from indus...
详细信息
Modelling languages such as the Unified Modeling Language are used during the early phases of system development to capture requirements and to express high-level designs. Many such languages have no universally fixed...
详细信息
ISBN:
(纸本)3540672613
Modelling languages such as the Unified Modeling Language are used during the early phases of system development to capture requirements and to express high-level designs. Many such languages have no universally fixed interpretations since different development projects often use key concepts, like Class, Generalization and Association, in slightly different ways. Therefore meta-modelling, i.e. the precise specification of the concepts used in a model, is of importance in order to avoid misunderstandings. The BOOM framework, presented in this paper, is intended for this kind of meta-modelling. The framework consists of a collection of modelling constructs specified with a small object-oriented language. The framework is simple enough for an engineer to adjust the modelling concepts to project specific needs. It includes all necessary aspects of language specification, among them definition of abstract syntax, well-formedness rules, and dynamic semantics. To demonstrate its use, this paper includes a specification of some of the constructs defined in the Unified Modeling Language.
Containment of objects is a natural concept that has been poorly supported in object-orientedprogramming languages. For a predefined set of ownership contexts, this paper presents a type system that enforces certain ...
详细信息
Shared-memory programming is still a common and popular way of utilizing parallel machines for high-performance computing. Virtual shared memory (VSM) systems promote a gentle migration path allowing the execution of ...
详细信息
暂无评论