[Colloq] PhD Thesis Defense: Pengcheng Wu, Tuesday, April 20th at 1pm, Room 366
kirsten at ccs.neu.edu
kirsten at ccs.neu.edu
Fri Apr 16 09:35:46 EDT 2010
Thesis Defense Presentation:
Speaker: Pengcheng Wu
Thesis title: On Aspect-oriented Programming for Enforcing Software Design Rules
Date: April 20, 2010 (Tue.) at 1:00PM
Where: WVH 366
Abstract
Software design rules are important in modern software development, with
significance in achieving high quality in many aspects of software engineering
including functional correctness, safety, performance, reusability, and so on.
The current practice of software engineering tools to enforce software design
rules has much to be desired. They usually either can only check a pre-defined
set of design rules without allowing customization and extension, or even when
customization or extension is allowed, they require programmers to encode new
design rules in low level primitives such as byte code level APIs, or force
programmers to learn new domain specific languages or new meta-models that
programmers are not familiar with.
In this thesis work, we argue that the shadow model of AspectJ-like
Aspect-oriented programming languages is a useful and suitable meta-model for
building customizable software design rule static checkers for programs written
in Java-like object-oriented languages. To support this thesis, based on
AspectJ's shadow model and pointcut language, we have built two compile time
facilities, with which software design rules can be encoded and enforced. The
first facility is called Statically Executable Advice, which allows programmers
to implement design rule checkers in advice-like constructs, but unlike advice
in AspectJ, they are advice that are defined on static shadows, instead of on
dynamic join points, and that they are executed at compile time, instead of at
run time. The second facility is a further improvement of the idea, by featuring
a Datalog based declarative query mechanism on shadows, with a seamless
integration with AspectJ's native pointcut expression language. When designing
this Datalog shadow query mechanism, we especially developed it with a focus on
performance and scalability. We present a Datalog representation of the shadow
model of AspectJ so that we can leverage an intelligent data structure capable
of dealing with large-scale relational data with much redundancy, called
Binary Decision Diagram (BDD). We make use of an advanced third party BDD-based
Datalog solver called "bddbddb" to solve design rule constraints encoded in
Datalog shadow queries in our system. We have evaluated our Datalog-based
approach for enforcing software design rules in terms of its effectiveness,
usability, and performance. The evaluation results show that the system can
describe and enforce a wide variety of industrial software design rules, it is
easier to use than writing queries on an alternative meta-model, i.e., the
Abstract-Syntax-Tree based model, and the system indeed can scale well to large
size real world programs on diversified queries.
Thesis committee:
Professor Gene Cooperman
Professor Shriram Krishnamurthi (Brown University, external member)
Professor Karl Lieberherr (Thesis Advisor)
Professor Mitchell Wand
Kirsten Anderson
Northeastern University
College of Computer & Information Science
202 West Village H
360 Huntington Ave
Boston, MA 02115
(617) 373-8685
(617) 373-5121
More information about the Colloq
mailing list