Principles for writing reusable libraries

  • Authors:
  • Glenn S. Fowler;David G. Korn;Kiem-Phong Vo

  • Affiliations:
  • AT&T Bell Laboratories, 600 Mountain Avenue, Murray Hill, NJ;AT&T Bell Laboratories, 600 Mountain Avenue, Murray Hill, NJ;AT&T Bell Laboratories, 600 Mountain Avenue, Murray Hill, NJ

  • Venue:
  • SSR '95 Proceedings of the 1995 Symposium on Software reusability
  • Year:
  • 1995

Quantified Score

Hi-index 0.00

Visualization

Abstract

Over the past 10 years, the Software Engineering Research Department in AT&T has been engaging in a research program to build a collection of highly portable advanced software tools known as Ast, Advanced Software Technology. A recent monograph, “Practical Reusable UNIX Software” (John Wiley & Sons, Inc., 1995), summarizes the philosophy and components of this research program. A major component of this program is a collection of portable, and reusable libraries servicing a wide range of functions, from a porting base to all known UNIX platforms, to efficient buffered I/O, memory allocation, data compression, and expression evaluation. The libraries currently stand at about 150,000 non-commented lines of C code. They are developed and maintained independently by different researchers. Yet they work together seamlessly—largely because of a collection of library design principles and conventions developed to help maintaining interface consistency and reducing needless or overlapped work.