Constructing a Reading Guide for Software Product Audits

Architectural knowledge is reflected in various artifacts of a software product. In a software product audit this architectural knowledge needs to be uncovered and its effects assessed in order to evaluate the quality of the software product. A particular problem is to find and comprehend the architectural knowledge that resides in the software product documentation. In this article, we discuss how the use of a technique called Latent Semantic Analysis can guide auditors through the documentation to the architectural knowledge they need. We validate the use of Latent Semantic Analysis for discovering architectural knowledge by comparing the resulting vector-space model with the mental model of documentation that auditors possess.

[1]  Jonathan I. Maletic,et al.  Automatic software clustering via Latent Semantic Analysis , 1999, 14th IEEE International Conference on Automated Software Engineering.

[2]  S. C. Johnson Hierarchical clustering schemes , 1967, Psychometrika.

[3]  Remco C. de Boer,et al.  Architectural knowledge discovery: why and how? , 2006, SOEN.

[4]  Philippe Kruchten,et al.  Building Up and Reasoning About Architectural Knowledge , 2006, QoSA.

[5]  Michael W. Berry,et al.  Large-Scale Information Retrieval with Latent Semantic Indexing , 1997, Inf. Sci..

[6]  T. V. Prabhakar,et al.  ArchVoc--Towards an Ontology for Software Architecture , 2007, Second Workshop on Sharing and Reusing Architectural Knowledge - Architecture, Rationale, and Design Intent (SHARK/ADI'07: ICSE Workshops 2007).

[7]  Jan Bosch,et al.  Software Architecture: The Next Step , 2004, EWSA.

[8]  Patrick F. Reidy An Introduction to Latent Semantic Analysis , 2009 .

[9]  Raymond McCall,et al.  Rationale Management in Software Engineering , 2006 .

[10]  Yves Van de Peer,et al.  zt: A Sofware Tool for Simple and Partial Mantel Tests , 2002 .

[11]  Philippe Kruchten,et al.  Building up and Exploiting Architectural Knowledge , 2005, 5th Working IEEE/IFIP Conference on Software Architecture (WICSA'05).

[12]  Golub Gene H. Et.Al Matrix Computations, 3rd Edition , 2007 .

[13]  T. Landauer,et al.  A Solution to Plato's Problem: The Latent Semantic Analysis Theory of Acquisition, Induction, and Representation of Knowledge. , 1997 .

[14]  Jane Huffman Hayes,et al.  Improving after-the-fact tracing and mapping: supporting software quality predictions , 2005, IEEE Software.

[15]  G. Kelly The Psychology of Personal Constructs , 2020 .

[16]  Jan Bosch,et al.  Software Architecture as a Set of Architectural Design Decisions , 2005, 5th Working IEEE/IFIP Conference on Software Architecture (WICSA'05).

[17]  Elizabeth R. Jessup,et al.  Matrices, Vector Spaces, and Information Retrieval , 1999, SIAM Rev..

[18]  Jos Nijhuis,et al.  Design Decisions: The Bridge between Rationale and Architecture , 2006 .

[19]  Susan T. Dumais,et al.  Using Linear Algebra for Intelligent Information Retrieval , 1995, SIAM Rev..

[20]  Remco C. de Boer,et al.  Constructing a Reading Guide for Software Product Audits , 2007, 2007 Working IEEE/IFIP Conference on Software Architecture (WICSA'07).

[21]  Muhammad Ali Babar,et al.  Architectural Knowlege Management Strategies: Approaches in Research and Industry , 2007, Second Workshop on Sharing and Reusing Architectural Knowledge - Architecture, Rationale, and Design Intent (SHARK/ADI'07: ICSE Workshops 2007).

[22]  Andrian Marcus,et al.  Using latent semantic analysis to identify similarities in source code to support program understanding , 2000, Proceedings 12th IEEE Internationals Conference on Tools with Artificial Intelligence. ICTAI 2000.

[23]  Richard Bell,et al.  A manual for repertory grid technique , 1977 .

[24]  Gene H. Golub,et al.  Matrix computations (3rd ed.) , 1996 .

[25]  Devi Jankowicz,et al.  An Algorithm for the Cluster Analysis of Repertory Grids in Human Resource Development , 1982 .

[26]  Richard A. Harshman,et al.  Indexing by Latent Semantic Analysis , 1990, J. Am. Soc. Inf. Sci..

[27]  Gerard Salton,et al.  Term-Weighting Approaches in Automatic Text Retrieval , 1988, Inf. Process. Manag..

[28]  Peter Sawyer,et al.  Shallow knowledge as an aid to deep understanding in early phase requirements engineering , 2005, IEEE Transactions on Software Engineering.