Low coupling between modules and high cohesion inside each module are the key features of good software design. This is obtained by encapsulating the details about the internal structure of data and exporting only public functions with a clean interface. Programming languages such as C offer little native support to encapsulation, and consequently code analysis tools can be employed to assess and improve the modular structure of the programs In this paper a new approach to using concept analysis for module restructuring is proposed. By computing extended concept subpartition it is possible to determine alternative modularizations, characterized by a high cohesion around the internal structures that are manipulated. To assess the quality of the restructured modules, the trade off between encapsulation violations and decomposition is considered, and proper measures for both factors are defined. Furthermore the cost of the restructuring intervention is evaluated through a measure of distance between original and new modularizations. Concept subpartititions were determined for a test suite of 20 programs of variable size, 10 public domain and 10 industrial applications. On the resulting module candidates the trade off between encapsulation and decomposition was measured, together with an estimate of the restructuring cost. Moreover the capability of concept analysis to determine meaningful modularizations was assessed in two ways. First, programs without encapsulation violations were used as oracles. Second, the suggested restructuring interventions were actually implemented on some case studies

Concept Analysis for Module Restructuring´

Tonella, Paolo
2001-01-01

Abstract

Low coupling between modules and high cohesion inside each module are the key features of good software design. This is obtained by encapsulating the details about the internal structure of data and exporting only public functions with a clean interface. Programming languages such as C offer little native support to encapsulation, and consequently code analysis tools can be employed to assess and improve the modular structure of the programs In this paper a new approach to using concept analysis for module restructuring is proposed. By computing extended concept subpartition it is possible to determine alternative modularizations, characterized by a high cohesion around the internal structures that are manipulated. To assess the quality of the restructured modules, the trade off between encapsulation violations and decomposition is considered, and proper measures for both factors are defined. Furthermore the cost of the restructuring intervention is evaluated through a measure of distance between original and new modularizations. Concept subpartititions were determined for a test suite of 20 programs of variable size, 10 public domain and 10 industrial applications. On the resulting module candidates the trade off between encapsulation and decomposition was measured, together with an estimate of the restructuring cost. Moreover the capability of concept analysis to determine meaningful modularizations was assessed in two ways. First, programs without encapsulation violations were used as oracles. Second, the suggested restructuring interventions were actually implemented on some case studies
File in questo prodotto:
Non ci sono file associati a questo prodotto.

I documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.

Utilizza questo identificativo per citare o creare un link a questo documento: https://hdl.handle.net/11582/1555
 Attenzione

Attenzione! I dati visualizzati non sono stati sottoposti a validazione da parte dell'ateneo

Citazioni
  • ???jsp.display-item.citation.pmc??? ND
social impact