PL EN


Preferencje help
Widoczny [Schowaj] Abstrakt
Liczba wyników
Tytuł artykułu

Analysis of Components for Generalization using Multidimensional Scaling

Wybrane pełne teksty z tego czasopisma
Identyfikatory
Warianty tytułu
Języki publikacji
EN
Abstrakty
EN
To achieve better software quality, to shorten software development time and to lower development costs, software engineers are adopting generative reuse as a software design process. The usage of generic components allows increasing reuse and design productivity in software engineering. Generic component design requires systematic domain analysis to identify similar components as candidates for generalization. However, component feature analysis and identification of components for generalization usually is done ad hoc. In this paper, we propose to apply a data visualization method, called Multidimensional Scaling (MDS), to analyze software components in the multidimensional feature space. Multidimensional data that represent syntactical and semantic features of source code components are mapped to 2D space. The results of MDS are used to partition an initial set of components into groups of similar source code components that can be further used as candidates for generalization. STRESS value is used to estimate the generalizability of a given set of components. Case studies for Java Buffer and Geom class libraries are presented.
Wydawca
Rocznik
Strony
507--522
Opis fizyczny
Bibliogr. 46 poz., tab., wykr.
Twórcy
Bibliografia
  • [1] Szyperski, C.: Component Software: Beyond Object-Oriented Programming, Addison-Wesley, 1999.
  • [2] Baum, L., and Becker, M.: Generic Components to Foster Reuse, Proc. of the 4th IEEE Int. Conf. on Tools of Object-Oriented Languages and Systems (TOOLS-Pacific 2000), Sydney, Australia, 2000, 266-277.
  • [3] Becker, M.: Generic Components - A Symbiosis of Paradigms, Proc . of Second Int. Symposium on Generative and Component-Based Software Engineering, GCSE 2000, LNCS 2177, Springer 2001, 100-113.
  • [4] Sadaoui, S., Yin, P.: Generalization for component reuse, Proc. of the 42nd Annual Southeast Regional Conference, Huntsville, Alabama, 134-139, 2004.
  • [5] Frakes, W. B., Kang, K.: Software Reuse Research: Status and Future, IEEE Transactions on Software Engineering, 31(7), 529-536, July 2005.
  • [6] Damaševičius, R.: Visualization and Analysis of Open Source Software Evolution using An Evolution Curve Method, Proc. of 8th Int. Baltic Conference on Databases and Information Systems (Baltic DB&IS 2008), Tallinn, Estonia, June 2-5, 2008, 193-204.
  • [7] Zou, L., Godfrey,M.W.: Using origin analysis to detect merging and splitting of source code entities, IEEE Transactions on Software Engineering, 31, 2005, 166-181.
  • [8] Jarzabek, S., Li, S.: Unifying clones with a generative programming technique: a case study, Journal of Software Maintenance and Evolution: Research and Practice, 18(4), 2006, 267-292.
  • [9] Koschke, R.: Survey of research on software clones, in: Duplication, Redundancy, and Similarity in Software (R. Koschke, E. Merlo, A. Walenstein, Eds.), 2007. IBFI, Dagstuhl, Germany.
  • [10] Evans, W.: Program compression, in: Duplication, Redundancy, and Similarity in Software (R. Koschke, E. Merlo, A. Walenstein, Eds.), 2007. IBFI, Dagstuhl, Germany.
  • [11] Walenstein, A., Lakhotia, A.: The Software Similarity Problem in Malware Analysis, in: Duplication, Redundancy, and Similarity in Software (R. Koschke, E. Merlo, A.Walenstein, Eds.), 2007. IBFI, Dagstuhl, Germany.
  • [12] Lancaster, T., Culwin, F.: A comparison of source code plagiarism detection engines, Computer Science Education, 14, 2004, 101-112.
  • [13] Ciesielski, V.,Wu, N., Tahaghoghi, S.: Evolving Similarity Functions for Code Plagiarism Detection, Proc. of 10th Conference on Genetic and Evolutionary Computation, GECCO08, July 12-16, 2008, Atlanta, GA, USA.
  • [14] Wiggerts, T. A.: Using clustering algorithms in legacy systems remodularization. Proc. of the 4th Working Conference on Reverse Engineering, 6-8 October 1997, 33-43.
  • [15] van Deursen, A., Kuipers, T.: Finding Classes in Legacy Code Using Cluster Analysis, Proc. of the ESEC/FSE'97 Workshop on Object-Oriented Reengineering (S. Demeyer, H. Gall, Eds.), Zurich, 1997.
  • [16] Biggerstaff, T. J.: The library scaling problem and the limits of concrete component reuse, Proc. of 3rd Int. Conf. on Software Reuse, 1994, 102-109.
  • [17] Armstrong, R., Allan, B. A., Bernholdt, D. E., Elwasif,W. R.: On the Role of Self-Similarity in Component-Based Software, CompFrame 2005Workshop on ComponentModels and Frameworks in High Performance Computing, 22-23 June, Atlanta, Georgia, USA, 2005.
  • [18] Clements, P., Northrop, L.: Software Product Lines: Practices and Patterns, AddisonWesley, 2001.
  • [19] Damaševičius, R., štuikys, V., Toldinas, E.: Domain Ontology-Based Generative Component Design Using Feature Diagrams and Meta-Programming Techniques. Proc. of 2nd European Conf. on Software Architecture, ECSA2008, Paphos, Cyprus, LNCS 5292, 338-341, Springer-Verlag, 2008.
  • [20] Yamamoto, T.,Matsushita,M., Kamiya, T., Inoue, K.: Measuring similarity of large software systems based on source code correspondence, Proc. of 6th Int. Conf. on Product Focused Software Process Improvement, PROFES 2005, Oulu, Finland, June 13-15, 2005. LNCS 3547, Springer, 2005, 530-544.
  • [21] Whale, G.: Identification of Program Similarity in Large Populations, The Computer Journal, 33(2), 140-146, 1990.
  • [22] Damaševičius, R.: Analysis of Software Library Components for Similarity using Multi-dimensional Scaling, Computing and Information Systems Journal, 11(2), 2007, 1-9.
  • [23] FanChao, M., Dechen, Z., Xiaofei, X.: A Design Method of Reusable Components Based on Feature Matching, International Journal of Computer Science and Network Security, 6(5), 24-29, 2006.
  • [24] Li, M., Chen, X., Li, X., Ma, B., Vitanyi P.: The similarity metric, Proc. of the 14th Annual ACM-SIAM Symposium on Discrete Algorithms, 863-872, 2003.
  • [25] Walenstein, A., El-Ramly, M., Cordy, J. R., Evans, W., Mahdavi, K., Pizka, M., Ramalingam, G., von Gudenberg, J. W., Kamiya T.: Similarity in Programs, in: Duplication, Redundancy, and Similarity in Software (R. Koschke, E. Merlo, A. Walenstein, Eds.), 2007. IBFI, Dagstuhl, Germany.
  • [26] Ossher, H., Tarr, P.: Multi-Dimensional Separation of Concerns and The HyperspaceApproach, in: Software Architectures and Component Technology: The State of the Art in Software Development (M. Aksit, Ed.), Kluwer Academic Publishers, 2001.
  • [27] Kang, K., Cohen, S., Hess, J., Nowak, W., Peterson, S.: Feature-Oriented Domain Analysis (FODA) Feasibility Study, Technical Report CMU/SEI-90-TR-21, Software Engineering Institute, Carnegie Mellon University, Pittsburgh, Pennsylvania, November 1990.
  • [28] Weiss, D. M., Lai., C. T. R.: Software Product-Line Engineering: A Family-Based Software Development Approach, Reading: Addison-Wesley, 1999.
  • [29] Ferre, X., Vegas, S.: An Evaluation of Domain Analysis Methods. Proc. of 4th Int. Workshop on Evaluation of Modeling Methods in Systems Analysis and Design (EMMSAD'99), Heidelberg, Germany, 14-15 June, 1999.
  • [30] Damaševičius, R., Štuikys, V.: Evaluation of Metaprogram Complexity. Proc. of 15th Conference on Information and Software Technologies (IT 2009), Kaunas, Lithuania.
  • [31] Damaševičius, R., Štuikys, V.: Separation of Concerns in Multi-language Specifications, INFORMATICA, 13(3), 255-274, 2002.
  • [32] Estublier, J., Vega, G.: Reuse and Variability in Large Software Applications, Proc. of 10th European Software Engineering Conference and 13th Int. Symp. on Foundations of Software Engineering (ESECFSE' 05), September 5-9, 2005, Lisbon, Portugal, 316-325.
  • [33] Jonge de, M.: Package-Based Software Development, Proc. of 29th Euromicro Conference (EUROMICRO'03), 3-5 September 2003, Belek-Antalya, Turkey, 76-85.
  • [34] Beuche, D., Papajewski, H., Schrder-Preikschat, W.: Variability management with feature models. Sci. Comput. Program., 53(3), 333-352, 2004.
  • [35] Washizaki, H., Yamamoto, H., Fukazawa, Y.: A Metrics Suite for Measuring Reusability of Software Components, Proc. of 9th IEEE Int. Software Metrics Symposium (METRICS 2003), Sydney, Australia, 211-224, 2003.
  • [36] Borg, I., Groenen, P.: Modern Multidimensional Scaling, Springer, 1997.
  • [37] Cox, T. F, Cox, M. A.: Multidimensional Scaling, Chapman and Hall, 2001.
  • [38] Becks, A., Sklorz, S., Jarke, M.: A Modular Approach for Exploring the Semantic Structure of Technical Document Collections, Proc. of International Working Conference on Advanced Visual Interfaces, AVI 2000, May 23-26, 2000, Palermo, Italy, 298-301.
  • [39] Popescul, A., Flake, G. W., Lawrence, S., Ungar, L. H., Lee Giles C.: Clustering and Identifying Temporal Trends in Document Databases, Proc. of IEEE Advances in Digital Libraries ADL 2000, Washington, DC, 173-182, 2000.
  • [40] Haveliwala, T., Gionis, A., Klein, D., Indyk, P.: Evaluating Strategies for Similarity Search on the Web, Proc. of the 11th Int. World Wide Web Conference, May 2002, 432-442.
  • [41] Stein, B., Meyer zu Eissen, S.: Automatic Document Categorization: Interpreting the Performance of Clustering Algorithms, in: Advances in Artificial Intelligence (A. Gnter, R. Kruse, B. Neumann, Eds.). LNAI 2821, 254-266, Springer 2003.
  • [42] Munoz, A., Martin-Merino, M.: New asymmetric iterative scaling models for the generation of textual word maps, Proc. Proc. of the 6th Int. Conf. on the Statistical Analysis of Textual Data, CSIA-CERESTA, (A. Morin, P. Sbillot, Eds.), vol. 2, 593-603, 2002.
  • [43] Fayyad, U., Grinstein, G. G., Wierse, A. (eds.). Information Visualization in Data Mining and Knowledge Discovery, Morgan Kaufman, London/San Francisco, 2002.
  • [44] Beyer, D., Noack, A.: Clustering Software Artifacts Based on Frequent Common Changes, Proc. of the 13th Int. Workshop on Program Comprehension (IWPC'05), 15-16 May 2005, St. Louis, MO, USA, 259-268.
  • [45] Kruskal, J. B.: Multidimensional Scaling by Optimizing Goodness of Fit to a Nonmetric Hypothesis, Psychometrika, 29(1),March 1964, 1-27.
  • [46] Jarzabek, S. Li, S.: Eliminating Redundancies with a "Composition with Adaptation" Meta-programming Technique, Proc. of ESEC-FSE'03, European Software Engineering Conference and ACM SIGSOFT Symposium on the Foundations of Software Engineering, September 2003, Helsinki, 237-246.
Typ dokumentu
Bibliografia
Identyfikator YADDA
bwmeta1.element.baztech-article-BUS8-0004-0052
JavaScript jest wyłączony w Twojej przeglądarce internetowej. Włącz go, a następnie odśwież stronę, aby móc w pełni z niej korzystać.