the proceedings contain 33 papers. the topics discussed include: weighted pushdown systems and trust management systems;automatic verification of parameterized data structures;parameterized verification of π calculus...
详细信息
ISBN:
(纸本)3540330569
the proceedings contain 33 papers. the topics discussed include: weighted pushdown systems and trust management systems;automatic verification of parameterized data structures;parameterized verification of π calculus systems;easy parameterized verification of biphase mark and 8N1 protocols;evaluating the effectiveness of slicing for model reduction of concurrent objectoriented programs;new metrics for static variable ordering in decision diagrams;widening ROBDDs with prime implicants;efficient guided symbolic reachability using reachability expressions;SAT - based software certification;exploration of the capabilities of constraint programming for software verification;efficient abstraction refinement in interpolation based unbounded model checking;and approximating predicate images for bit vector logic.
the proceedings contain 24 papers. the topics discussed include: global environmental education using squeak and field servers;promoting mathematics as a tool for a PBL type high school mathematics;a proposal and init...
详细信息
ISBN:
(纸本)0769528066
the proceedings contain 24 papers. the topics discussed include: global environmental education using squeak and field servers;promoting mathematics as a tool for a PBL type high school mathematics;a proposal and initial design of the morph packaging system;development of collaboration environments on web 1.0;an approach of standardization and searching based on Hierarchical Bayesian Clustering (HBC) for record linkage system;scalable access control for web services;development and verification of a collaborative printing environment;syncing croquet withthe real world;user-recordable non-player characters for croquet;using object deputy model for aspect orientedprogramming;and a learning support system based on question-posing and its evaluation.
Aspect-oriented software development is gaining popularity withthe wider adoption of languages such as AspectJ To reduce the manual effort of testing aspects in AspectJ programs, we have developed a framework, called...
详细信息
ISBN:
(纸本)159593300X
Aspect-oriented software development is gaining popularity withthe wider adoption of languages such as AspectJ To reduce the manual effort of testing aspects in AspectJ programs, we have developed a framework, called Aspectra, that automates generation of test inputs for testing aspectual behavior, i.e., the behavior implemented in pieces of advice or intertype methods defined in aspects. To test aspects, developers construct base classes into which the aspects are woven to form woven classes. Our approach leverages existing test-generation tools to generate test inputs for the woven classes;these test inputs indirectly exercise the aspects. To enable aspects to be exercised during test generation, Aspectra automatically synthesizes appropriate wrapper classes for woven classes. To assess the quality of the generated tests, Aspectra defines and measures aspectual branch coverage (branch coverage within aspects). To provide guidance for developers to improve test coverage, Aspectra also defines interaction coverage. We have developed tools for automating Aspectra's wrapper synthesis and coverage measurement, and applied them on testing 12 subjects taken from a variety of sources. Our experience has shown that Aspectra effectively provides tool supports in enabling existing test-generation tools to generate test inputs for improving aspectual branch coverage. Copyright 2006 ACM.
the proceedings contain 26 papers from the ECOOP 2005 - object-orientedprogramming: 19theuropeanconference. the topics discussed include: the emergent structure of development tasks;efficiently refactoring java app...
详细信息
the proceedings contain 26 papers from the ECOOP 2005 - object-orientedprogramming: 19theuropeanconference. the topics discussed include: the emergent structure of development tasks;efficiently refactoring java applications to use generic libraries;aspect-orientedprogramming beyond dependency injection;evaluating support for features in advanced modularization technologies;expressive pointcuts for increased modularity;first-class relationships in an object-oriented language;efficient multimethods in a single dispatch language;consistency checking of statechart diagrams of a class hierarchy;and lightweight defect localization for java.
Nowadays Web applications quality, reliability and dependability are important factors because software glitches could block entire businesses and cause major embarrassment. Web applications are complex and heterogene...
详细信息
Nowadays Web applications quality, reliability and dependability are important factors because software glitches could block entire businesses and cause major embarrassment. Web applications are complex and heterogeneous software, based on several components, often written in many different languages and potentially distributed over the Web. thus, testing Web applications may be a complex task. this paper presents the OO-based framework used in our WAAT project (Web Applications Analysis and Testing) to test traditional Web applications composed of Web documents, objects and server components (e.g., applications written in HTML, Javascript, PHP4/5, etc.). Our Web testing model named OTMW (OO Testing Model of WAAT project) is inspired by the conventional category partition testing method applied to Web software through the use of a reverse engineered OO model used to describe the architecture of existing applications. OTMW tests Web software using three different layers of test: unit, integration and system testing. this paper describes the set of techniques used by OTMW in every testing layer. To achieve this result this paper describes the OO model used (based on UML class and state diagrams) and it defines the reverse engineering techniques used to analyze software and to describe them through the model. Moreover, the paper proposes a method to identify software units and sequences of units to test applications components and their interactions. Furthermore, it describes an approach to define test cases using the reverse engineered models with a technique based on the subdivision of input data in classes of equivalence. Finally, this paper presents tools used to perform some empirical experiments to evaluate the power, effectiveness and flexibility of the OTMW approach.
In this paper we investigate the addition of first-class relationships to a prototypical object-orientedprogramming language (a "middleweight" fragment of Java). We provide language-level constructs to decl...
详细信息
ISBN:
(纸本)354027992X
In this paper we investigate the addition of first-class relationships to a prototypical object-orientedprogramming language (a "middleweight" fragment of Java). We provide language-level constructs to declare relationships between classes and to manipulate relationship instances. We allow relationships to have attributes and provide a novel notion of relationship inheritance. We formalize our language giving boththe type system and operational semantics and prove certain key safety properties.
Two object-orientedprogramming language paradigms-dynamic, prototype-based languages and multi-method languages-provide orthogonal benefits to software engineers. these two paradigms appear to be in conflict, however...
详细信息
ISBN:
(纸本)354027992X
Two object-orientedprogramming language paradigms-dynamic, prototype-based languages and multi-method languages-provide orthogonal benefits to software engineers. these two paradigms appear to be in conflict, however, preventing engineers from realizing the benefits of both technologies in one system. this paper introduces a novel object model, prototypes with multiple dispatch (PMD), which seamlessly unifies these two approaches. We give formal semantics for PMD, and discuss implementation and experience with PMD in the dynamically typed programming language Slate.
Dependency injection is a hot topic among industrial developers using component frameworks. this paper first mentions that dependency injection and aspect-orientedprogramming share the same goal, which is to reduce d...
详细信息
ISBN:
(纸本)354027992X
Dependency injection is a hot topic among industrial developers using component frameworks. this paper first mentions that dependency injection and aspect-orientedprogramming share the same goal, which is to reduce dependency among components for better reusability. However, existing aspect-orientedprogramming languages/frameworks, in particular, AspectJ, are not perfectly suitable for expressing inter-component dependency with a simple and straightforward representation. their limited kinds of implicit construction of aspect instances (or implementations) cannot fully express inter-component dependency. this paper points out this fact and proposes our aspect-orientedprogramming system named GluonJ to address this problem. GluonJ allows developers to explicitly construct and associate an aspect implementation with aspect targets.
object-oriented unit tests consist of sequences of method invocations. Behavior of an invocation depends on the method's arguments and the state of the receiver at the beginning of the invocation. Correspondingly,...
详细信息
ISBN:
(纸本)3540253335
object-oriented unit tests consist of sequences of method invocations. Behavior of an invocation depends on the method's arguments and the state of the receiver at the beginning of the invocation. Correspondingly, generating unit tests involves two tasks: generating method sequences that build relevant receiver-object states and generating relevant method arguments. this paper proposes Symstra, a framework that achieves both test generation tasks using symbolic execution of method sequences with symbolic arguments. the paper defines symbolic states of object-oriented programs and novel comparisons of states. Given a set of methods from the class under test and a bound on the length of sequences, Symstra systematically explores the object-state space of the class and prunes this exploration based on the state comparisons. Experimental results show that Symstra generates unit tests that achieve higher branch coverage faster than the existing test-generation techniques based on concrete method arguments.
In aspect-orientedprogramming, pointcuts are used to describe crosscutting structure. Pointcuts that abstract over irrelevant implementation details are clearly desired to better support maintainability and modular r...
详细信息
ISBN:
(纸本)354027992X
In aspect-orientedprogramming, pointcuts are used to describe crosscutting structure. Pointcuts that abstract over irrelevant implementation details are clearly desired to better support maintainability and modular reasoning. We present an analysis which shows that current pointcut languages support localization of crosscutting concerns but are problematic with respect to information hiding. To cope withthe problem, we present a pointcut language that exploits information from different models of program semantics, such as the execution trace, the syntax tree, the heap, static type system, etc., and supports abstraction mechanisms analogous to functional abstraction. We show how this raises the abstraction level and modularity of pointcuts and present first steps toward an efficient implementation by means of a static analysis technique.
暂无评论