skip to main content
10.1145/512035.512052acmconferencesArticle/Chapter ViewAbstractPublication PagesfseConference Proceedingsconference-collections
Article

Library evolution for reliable software

Authors Info & Claims
Published:19 May 2002Publication History

ABSTRACT

This paper shows a methodology to evolve a library of functions to be with common patterns of usage, called idioms. In source programs written in C, it is commonly seen that library functions are combined in a certain pattern since functionalities required in application software are more abstract than those of the library functions. This means that using appropriate idioms for the purpose is one of the key issues in implementing functionalities of the software. Investigating idioms in the existing elaborate software in terms of control and data dependencies of library function-calls, it is observed that "good" idioms contribute to the reliability in developing and maintaining software. Based on this idea, we extract idioms from the existing open-source software in the form of FCDGs (Function Call Dependency Graphs). By categorising those idioms as a database of FCDG patterns, we propose evolved libraries where each library function is accompanied by the typical reliable patterns of usage. By exploiting an evolved library, we show how effectively potential defects that may lead to unexpected behaviour are resolved by checking the conformance to our idioms.

References

  1. N. Atsumi, S. Yamamoto, and K. Agusa. Using example of the library function with function call dependency graph. Collection of Paper in IPSJ JSSST 2001 18th Convention, 2001.Google ScholarGoogle Scholar
  2. J. M. B. and M. N. M. Program reusability through program transformation. IEEE Transactions on Software Engineering, SE-10(5):574-587, September 1984.Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. T. Biggerstaff and C. Richter. Reusability framework, assessment, and directions. IEEE Software, 4(2):41-49, March 1987.Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. J. O. Coplien. Advanced C++ Programming Styles and Idioms. Addison-Wesley Publishing Company, 1992. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. S. Ducasse, M. Rieger, and S. Demeyer. A language independent approach for detecting duplicated code. In H. Yang and L. White, editors, Proceedings ICSM'99 (International Conference on Software Maintenance), pages 109-118. IEEE, 1999. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. K. Frauf and A. Zeller. Software configuration management: State of the art, state of the practice.Google ScholarGoogle Scholar
  7. N. Fukuyasu, S. Yamamoto, and K. Agusa. An evolution framework based on fine grained repository. Proceedings of International Workshop on Principles of Software Evolution(IWPSE99), pages 43-47, 1999.Google ScholarGoogle Scholar
  8. J. K. Lehrstuhl. Identifying similar code with program dependence graphs.Google ScholarGoogle Scholar
  9. R. Miura, S. Yamamoto, and K. Agusa. Function call dependency graph for programming navigation. Separate Volume of IPSJ Computer Software, pages 17-26, December 2000.Google ScholarGoogle Scholar

Index Terms

  1. Library evolution for reliable software

    Recommendations

    Comments

    Login options

    Check if you have access through your login credentials or your institution to get full access on this article.

    Sign in
    • Published in

      cover image ACM Conferences
      IWPSE '02: Proceedings of the International Workshop on Principles of Software Evolution
      May 2002
      155 pages
      ISBN:1581135459
      DOI:10.1145/512035

      Copyright © 2002 ACM

      Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Publication History

      • Published: 19 May 2002

      Permissions

      Request permissions about this article.

      Request Permissions

      Check for updates

      Qualifiers

      • Article

      Upcoming Conference

      FSE '24
    • Article Metrics

      • Downloads (Last 12 months)1
      • Downloads (Last 6 weeks)0

      Other Metrics

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader