Contact PSU | PSU FAQs
Search
future students current students faculty + staff Alumni + Friends
Computer Science
Maseeh College of Engineering and Computer Science
home | contact us
Home Prospective Students People Research Courses Schedules Programs Resources
Projects Laboratories Grants Theses and Dissertations Technical Reports

Software Reliability from Software Components


Faculty: Richard Hamlet
Students: Zheng Tu, PhD student; Milan Andric, MS student
Web Link:

Description

 Short summary:

Fundamental testing theory developed to describe the composition
of software components into systems, for both functional and
non-functional properties.  Prototype tools developed to support
experimentation and validation.


Summary:

Defining, developing, and reusing software components is today
accepted as the best line of attack on the problem of expensive
and unreliable software systems.  In other engineering disciplines,
component-based systems have been the key to rational design, in which
engineers can predict the behavior of complex systems before they are
built and tested.  Most of the current theoretical research in software
components is concerned with the specification and cataloging of component
functionality, to help a system designer find the necessary components
for a design.  But it is equally important for a designer to be able to
assess the quality of software components.  Without assurance that its
components are of adequate quality, a component-based system would be
built on sand.  There is a well developed theory of software reliability
using random testing, but it has not been applied to component-based
systems, because the theory depends on knowledge of an operational
profile --- the distribution of input values that software will see
in use.  When components are placed in a system, the profile they will
encounter is unknown, so they cannot be tested beforehand in isolation.
To solve this and other fundamental problems of component composition
and synthesis of component properties, a foundational theory is proposed.

The project takes a testing-based approach to the specification and
combination of software components.  In the theory being developed and
validated, components are tested using a subdomain decomposition, over
which a profile is only a weighting to be later determined.  An algebra
of programming constructs describes the ways in which components may
be connected.  The theory is supported by research-prototype CAD tools
that help component designers to accurately describe their components,
and CAD tools that aid system designers in assembling components.

 

Grants

 Grants:

Information Technology Research (ITR) grant, National Science
Foundation, September, 2001 -- September, 2006, $318,000 including
REU supplements.

E.T.S. Walton fellowship, Science Foundation Ireland,
September, 2003 -- November, 2004, $160,275.
 

Publications

 Publications:

"Tools and experiments supporting testing-based component composition,"
To be submitted to ACM Trans. Software Engineering and Methodology,
September, 2006.  Draft copy at www.cs.pdx.edu/~hamlet/TOSEM.pdf .

"Software component composition:  a subdomain-based testing foundation,"
Submitted to Journal of Software Testing and Verification Research
(JSTVR), August, 2006. Copy at www.cs.pdx.edu/~hamlet/STVR.pdf .

"When only random testing will do,"
1st Int. Workshop on Random Testing, Portland, ME, July, 2006.

"Subdomain testing of units and systems with state,"
ISSTA 2006, Portland, ME, July, 2006.

"Defining 'predictable assembly',"
CBSE 2006 (l9th CBSE Workshop), Vasteras, Sweden, June, 2006.

"Invariants and state in testing and formal methods,"
PASTE 2005, Lisbon, Portugal, September, 2005.

"On formal specification of software components and systems,"
(with Sharon Flynn),
Third Irish Conference on Mathematical Foundations of Computer
Science and Information Technology, Dublin, July, 2004.
Revised version to appear in Electron Notes in Theoretical
Computer Science, 2006.
"Properties of software systems synthesized from components,"
(with Dave Mason and Denise Woit),
Chapter 6 of Component-based Software Development: Case Studies,
K-K. Lau, Ed., World Scientific, 2004.

"Experiments with composing component properties,"
6th Workshop on CBSE, ICSE 2003, Portland, OR, 2003.

"Continuity in software systems,"
ISSTA 2002, Rome, July, 2002.

"Random testing" (updated article), and "Subdomain testing," in
Encyclopedia of Software Engineering, 2nd ed.,
J. Marciniak, ed., Wiley, 2002.


Invited workshop presentations:

"Testing-based theory of predictable assembly,"
2nd Workshop on Predictable Software Component Assembly,
Manchester, UK, September 2005.

"Lessons about testing and formal specification from software
component theory,"
Microsoft/UW summer institute: Trends in Testing: Theory, Techniques,
and Tools, Stevenson, WA, August, 2004.

"Software components synthesis theory: a subdomain-based approach,"
Workshop on Predictable Software Assembly,
Manchester, UK, May, 2004. 

Give to PSU | PSU FAQs | Contact PSU | Find People | Maps/Directions | PSU Sitemap | © 2007