Library evolution for reliable software

  • Authors:
  • Noritoshi Atsumi;Shoji Yuen;Kiyoshi Agusa;Shinichirou Yamamoto

  • Affiliations:
  • Nagoya University, Furou, Chikusa, Nagoya, 464-8603, Japan;Nagoya University, Furou, Chikusa, Nagoya, 464-8603, Japan;Nagoya University, Furou, Chikusa, Nagoya, 464-8603, Japan;Aichi Prefectual University, Ibaragabasama, Kumabari, Nagakute, Aichi 480-1198, Japan

  • Venue:
  • Proceedings of the International Workshop on Principles of Software Evolution
  • Year:
  • 2002

Quantified Score

Hi-index 0.00

Visualization

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.