Bruce W. Weide
Professor and Associate Chair
Ph.D. Carnegie Mellon University, 1978
B.S.E.E. University of Toledo, 1974
Software Engineering Group
Research
The Reusable Software
Research Group (RSRG), which I co-direct with Bill Ogden, is part
of the Software Engineering Group in the Department of Computer Science
and Engineering at The Ohio State
University. Our charter is to explore all aspects of
component-based software engineering. Our approach involves
integrating several related subareas: formal specification of
functionality and performance, modular verification of correctness and
efficiency of implementations, design of programming languages and
systems, and adaptation of our Resolve technology to practice
(originally in Ada, more recently in C++ and, to a limited extent,
Java). Most of our efforts recently are related to the long-term
goal of laying the foundations for a "verified software" paradigm for
software engineering, including addressing Tony Hoare's Grand
Challenge of a "verifying compiler". Sponsors have included the
National Science Foundation, DARPA, Lucent Technologies, and Microsoft
Research. Selected publications are listed below under "Publications"; see the RSRG
Home Page for more details.
Teaching
With Tim Long,
Paolo Bucci, and
Wayne Heym, I am
engaged in a long-term effort to integrate, into the undergraduate
computer science curriculum, component-based software engineering
principles developed through RSRG research activities. We have
designed, developed, installed, and evaluated aspects of an innovative
first-year undergraduate course sequence in software design and
development for computer science and engineering students. The
one-year sequence begins with an introduction to component-based
software engineering, ends with an advanced case-study in design and
analysis of reusable software components, and is completely integrated
and unified in its philosophical and technical bases. We also
are designing and implementing a suite of software tools to assist
students as they apply the principles and methodologies taught in the
course sequence and envisioned as part of a verified software paradigm
for the future of software engineering. The goal of these
activities is to create the core of an instructional system capable of
producing software professionals with greater awareness and
understanding of the technical issues faced by tomorrow's software
industry, and with measurably better software design and development
skills. Publications about, and awards for, this course
sequence are accessible through the SCE home page link immediately below.
Sponsors have included the National Science Foundation, Fund for the
Improvement of Post-Secondary Education, and Microsoft Research.
A separate instructional project is a joint effort with Paul Sivilotti and
Paolo Bucci of
CSE and Furrukh
Khan of Electrical and Computer Engineering. This involves a
sequence of courses in "Applied Software Engineering" for engineers
and scientists. The objective is for both CS students in
software engineering, and upper-division and graduate engineering and
science students in non-CS disciplines, to learn the practical
concepts and skills that will make them immediately productive with
the modern software technologies and tools used for software
engineering in high-technology companies. Lucent Technologies
also sponsored part of this development.
Administration
I am Associate Chair of the Computer Science and
Engineering Department, responsible for curricular and undergraduate
mattters; and a member of the Engineering College
Committee on Academic Affairs.
Other Things
I can't resist the temptation to join the trend toward putting a
few personal interest items (I hope not offensive to anyone) on one's
professional web page. The first picture, I swear, is not my car; we
saw it in a parking garage near Niagara Falls, and wondered why my
e-mail address was on it. Turns out it belongs to someone in an
unrelated Weide family living in Cambridge, Ontario. The second
picture, I'm afraid, speaks for itself.
Selected Publications on Component-Based Software
Engineering Research
-
Weide, B.W., Ogden, W.F., and Zweben, S.H., "Reusable Software
Components," Advances in Computers, Vol. 33, M. Yovits, ed.,
Academic Press, 1991, pp. 1-65. [PDF]
-
Harms, D.E., and Weide, B.W., "Copying and Swapping: Influences on the Design
of Reusable Software Components," IEEE Transactions on Software Engineering,
Vol. 17, No. 5, May 1991, pp. 424- 435. [PDF]
-
Weide, B.W., Edwards, S.H., Harms, D.E., and Lamb, D.A., "Design and
Specification of Iterators Using the Swapping Paradigm," IEEE
Transactions on Software Engineering, Vol. 20, No. 8, August 1994,
pp. 631-643. [PDF]
-
Weide, B.W., Odgen, W.F., and Sitaraman, M., "Recasting Algorithms to
Encourage Reuse," IEEE Software, Vol. 11, No. 5, September
1994, pp. 80-88. [PDF] [corrected
versions of the figures])
-
Sitaraman, M., and Weide, B.W., eds., "Special Feature: Component-Based
Software Using RESOLVE," ACM SIGSOFT Software Engineering
Notes, Vol. 19, No. 4, October 1994, pp. 21-67. [PDF; 6
papers/files]
-
Zweben, S.H., Edwards, S.H., Hollingsworth, J.E., and Weide, B.W.,
"The Effects of Layering and Encapsulation on Software Development
Cost and Quality," IEEE Transactions on Software Engineering,
Vol. 21, No. 3, March 1995, pp. 200-208. [PDF]
-
Weide, B.W., Hollingsworth, J.E., and Heym, W.D., "Reverse Engineering
of Legacy Code Exposed," Proceedings 17th International Conference
on Software Engineering, ACM, April 1995, pp. 327-331. [PDF]
-
Weide, B.W., Edwards, S.H., Heym, W.D., Long, T.J., and Ogden, W.F.,
"Characterizing Observability and Controllability of Software
Components," Proceedings Fourth International Conference on
Software Reuse, IEEE, April 1996, pp. 62-71. [PDF]
-
Sitaraman, M., Weide, B.W., and Ogden, W.F., "On the Practical Need for
Abstraction Relations to Verify Abstract Data Type Representations,"
IEEE Transactions on Software Engineering, Vol. 23, No. 3,
March 1997, pp. 157-170. [PDF]
- Sitaraman, M., Weide, B.W., Long. T.J., and Ogden, W.F., "A Data Abstraction
Alternative to Data Structure/Algorithm Modularization," in Jazayeri, M.,
Loos, R.G.K., and Musser, D., eds., Generic Programming, Springer-Verlag
LNCS 1766, 2000, pp. 102-113. [PDF]
-
Sitaraman, M., Atkinson, S., Kulczycki, G., Weide, B.W., Long, T.J., Bucci,
P., Heym, W.D., Pike, S., and Hollingsworth, J.E., "Reasoning About Software-Component
Behavior," in Frakes, W.B., ed., Software Reuse: Advances in Software
Reusability (Proceedings Sixth International Conference on Software Reuse),
Springer-Verlag LNCS 1844, 2000, pp. 266-283. [PDF]
-
Hollingsworth, J.E., Blankenship, L., and Weide, B.W., "Experience
Report: Using RESOLVE/C++ for Commercial Software," Proceedings ACM
SIGSOFT Eighth International Symposium on the Foundations of Software Engineering,
ACM Press, 2000, pp. 11-19. [PDF]
-
Sitaraman, M., Long, T.J., Weide, B.W., Harner, E.J., and Wang, L., "A
Formal Approach to Component-Based Software Engineering: Education and
Evaluation", ICSE 2001: Proceedings 23rd International Conference
on Software Engineering, IEEE, 2001, pp. 601-609 [PDF]; a revised version
appeared as Sitaraman, M., Long, T.J., Weide, B.W., Harner, J., and
Wang, C., "Teaching Component-Based Software Engineering: A Formal
Approach and Its Evaluation", Computer Science Education Journal
12, 1-2 (2002), 11-36. [CSE
abstract]
-
Weide, B.W., "Component-Based Systems", in Marciniak, J.J., ed.,
Encyclopedia of Software Engineering, John Wiley and Sons,
2001, 9 pp. [ESE
abstract] [PDF]
- Sridhar, N., Weide, B.W., and Bucci, P., "Service Facilities:
Extending Abstract Factories to Decouple Advanced Dependencies", in
C. Gacek, ed., Software Reuse: Methods, Techniques, and Tools
(Proceedings Seventh International Conference on Software Reuse),
Springer-Verlag LNCS 2319, 2002, pp. 309-326. [PDF]
-
Edwards, S.H., Sitaraman, M., Weide, B.W., and Hollingsworth, J.E.,
"Contract-Checking Wrappers for C++ Classes", IEEE Transactions on
Software Engineering 30, 11 (November 2004), 794-810. [PDF]
- Weide, B.W., Sitaraman, M., Harton, H.K., Adcock, B., Bucci, P., Bronish, D., Heym, W.D., Kirschenbaum, J., and Frazier, D., "Incremental Benchmarks for Software Verification Tools and Techniques", Proceedings of VSTTE 2008 (Verified Software: Tools, Techniques, and Experiments), Springer-Verlag, October 2008, to appear. [PDF]
Contact Information
Department of Computer Science and Engineering
The Ohio State University
2015 Neil Avenue
Columbus, OH 43210-1277
office: Dreese Lab 687
phone: 614-292-1517
FAX: 614-292-2911
email: weide DOT 1 [that's the numeral one] AT osu DOT edu
URL: http://www.cse.ohio-state.edu/~weide
Last modified: Tue Jul 29 15:13:16 EDT 2008