This paper presents a tutoring system aimed at teaching how to compile Java into the language of the Java Virtual Machine, and, at the same time, promotes a better understanding of the underlying mechanisms of object-...
详细信息
This paper presents a tutoring system aimed at teaching how to compile Java into the language of the Java Virtual Machine, and, at the same time, promotes a better understanding of the underlying mechanisms of object-orientedprogramming. The interaction with the systems takes the form of a 3D videogame where the student must compete to provide the right machine instructions, collect resources needed by the instructions and use her knowledge about Java compilation to find the best strategy.
Software metrics increase our ability to understand the behavior of software systems. An accurate measurement provides us with solid understanding of the entity we are measuring. In objectoriented software, most curr...
详细信息
ISBN:
(纸本)0769513727
Software metrics increase our ability to understand the behavior of software systems. An accurate measurement provides us with solid understanding of the entity we are measuring. In objectoriented software, most current metrics quantify a class's coupling complexity by simply counting the number of connections with other classes but such metrics are unable to capture the underlying complexity or tension of individual connections. In this paper we propose a technique for measuring the strength of interclass relationships that takes into account both the number of statements participating in the connection, as well as the complexity of those statements. Our approach introduces a new concept for measuring objectoriented coupling complexity and provides a more sensitive measurement than traditional approaches. We present examples in C++ to support our method.
This paper presents a framework named Pin++. Pin++ is an objectoriented framework that uses template metaprogramming to implement Pintools, which are analysis tools for the dynamic binary instrumentation tool named Pi...
详细信息
ISBN:
(纸本)9781450331616
This paper presents a framework named Pin++. Pin++ is an objectoriented framework that uses template metaprogramming to implement Pintools, which are analysis tools for the dynamic binary instrumentation tool named Pin. The goal of Pin++ is to simplify programming a Pintool and promote reuse of its components across different Pintools. Our results show that Pintools implemented using Pin++ can have a 54% reduction in complexity, increase its modularity, and up to 60% reduction in instrumentation overhead. Copyright 2014 ACM.
PROPAGATOR is a family of patterns for consistently updating objects in a dependency network. The propagator patterns are found in such diverse applications as MAKE, WWW, spreadsheets, GUIs, reactive control systems, ...
详细信息
PROPAGATOR is a family of patterns for consistently updating objects in a dependency network. The propagator patterns are found in such diverse applications as MAKE, WWW, spreadsheets, GUIs, reactive control systems, simulation systems, distributed file systems, distributed databases, workflow systems, and multilevel caches. There are four main patterns: STRICT PROPAGATOR, STRICT PROPAGATOR WITH FAILURE, LAZY PROPAGATOR, and ADAPTIVE PROPAGATOR. In the strict propagation patterns, updates flow from the point of original change forward through the network. Dependent objects are immediately updated, unless failure occurs. In the lazy propagation pattern, an updated object merely sets its timestamp, without notifying any other object. Upon request, a dependent object makes itself current after requesting predecessor objects to bring themselves up-to-date. The adaptive propagator separates propagation of out-of-date markers from the actual update. It supports a combination of strict, optimistic, lazy, and periodic update schemes. All patterns support smart propagation for avoiding redundant work as well as concurrent updates.
A novel framework is presented, which simplifies the integration of machine learning into systems for industrial inspection and testing. In contrast to most approaches utilizing a centralized setup, the proposed work ...
详细信息
Three groups of requirements were considered in this session: 1. object-orientedprogramming - or more specifically, the mechanisms of inheritance and polymorphism. 2. General References 3. Finalisation. Experience of...
详细信息
While object-orientedprogramming and high-performance databases are now mainstream, programmers continue to struggle with persistent storage of objects. Juggling object persistence with requirements for simplicity, f...
详细信息
ISBN:
(纸本)159593491X
While object-orientedprogramming and high-performance databases are now mainstream, programmers continue to struggle with persistent storage of objects. Juggling object persistence with requirements for simplicity, flexibility, maintainability, transparency, scalability and five-nines uptime can rattle even the most hardened *** has been 10 years since the last panel on objects and databases at OOPSLA. Solutions are still evolving rapidly and increasing in complexity, with no end in sight. At the same time developers continue to experiment with alternatives, both old and new. This panel will discuss the state of the union between objects and databases, as seen from the trenches, with focus on current trends in object-oriented databases and object-relational mapping.
This paper presents linguistic primitives for publish/subscribe programming using events and objects. We integrate our primitives into a strongly typed object-oriented language through four mechanisms: (1) serializati...
详细信息
This paper presents linguistic primitives for publish/subscribe programming using events and objects. We integrate our primitives into a strongly typed object-oriented language through four mechanisms: (1) serialization, (2) multiple subtyping, (3) closures, and (4) deferred code evaluation. We illustrate our primitives through Java, showing how we have overcome its respective lacks. A precompiler transforms statements based on our publish/subscribe primitives into calls to specifically generated typed adapters, which resemble the typed stubs and skeletons generated by the rmic precompiler for remote method invocations in Java.
This paper presents an open source, object-oriented machine learning framework, formally named Java Intelligent Optimisation (JIOP). While JIOP is still in the early stages of development, it already provides a wide v...
详细信息
This paper describes the results of a study where the impact of object-oriented design on software quality characteristics is experimentally evaluated. A suite of metrics for OO design, called MOOD, was adopted to mea...
详细信息
This paper describes the results of a study where the impact of object-oriented design on software quality characteristics is experimentally evaluated. A suite of metrics for OO design, called MOOD, was adopted to measure the use of OO design mechanisms. Data collected on the development of eight small-sized information management systems based on identical requirements were used to assess the referred impact. Data obtained in this experiment show how OO design mechanisms such as inheritance, polymorphism, information hiding and coupling, can influence quality characteristics like reliability or maintainability. Some predictive models based on OO design metrics are also presented.
暂无评论