Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/2695664.2695909acmconferencesArticle/Chapter ViewAbstractPublication PagessacConference Proceedingsconference-collections
research-article

A quantitative, evidence-based approach for recommending software modules

Published: 13 April 2015 Publication History

Abstract

In distributed software product line projects, dependencies between components influence on communication and coordination needs among their respective development teams. As an alternative to reduce such needs, it seems interesting to cluster tightly-coupled components into loosely-coupled modules as long as each module is developed by a single team. In such a context, considering that numerous clustering possibilities exist, this paper presents a quantitative, evidence-based approach for recommending software modules by clustering software components. The proposed approach has a threefold foundation: quantitative measures that characterize dependencies between components; a search-based clustering algorithm to recommend modules; and a quantitative measure that characterize dependencies between modules, which can guide the allocation of development teams to modules.

References

[1]
Paulish, D. J. Product Line Engineering for Global Development. 3rd International Workshop on Product Line Engineering: The Early Steps (PLEES '03). pp. 17--22. 2003.
[2]
Herbsleb, J. D., and Grinter, R. E. Architectures, Coordination, and Distance: Conway's Law and Beyond. IEEE Software. vol. 16(5). pp. 63--70. 1998.
[3]
Repenning, A. et al. Using Components for Rapid Distributed Software Development. IEEE Software. vol. 18(2). pp. 38--45. 2001.
[4]
Ghezzi, C., Jazayeri, M., and Mandrioli, D. Fundamentals of Software Engineering. Prentice Hall. 2003.
[5]
Grinter, R. E., Herbsleb, J. D., and Perry, D. E. The Geography of Coordination: Dealing with Distance in R&D Work. ACM Conference on Supporting Group Work. pp. 306--315. 1999.
[6]
Sosa, M. E. et al. Factors that Influence Technical Communication in Distributed Product Development: An Empirical Study in the Telecommunications Industry. IEEE Transactions on Engineering Management. vol. 49(1). pp. 45--58. 2002.
[7]
De Souza, C. R. B. et al. Sometimes You Need to See Through Walls: A Field Study of Application Programming Interfaces. ACM Conference on Computer Supported Cooperative Work. pp. 63--71. 2004.
[8]
Mockus, A., and Weiss, D. M. Globalization by Chunking: A Quantitative Approach. IEEE Software. vol. 18 (2). pp. 30--37. 2001.
[9]
Pereira, T. A. B. et al. A Recommendation Framework for Allocating Global Software Teams in Software Product Line Projects. 2nd International Workshop on Recommendation Systems for Software Engineering. pp. 36--40. 2010.
[10]
Yassine, A. An Introduction to Modeling and Analyzing Complex Product Development Processes Using the Design Structure Matrix (DSM) Method. Quaderni di Management (Italian Management Review). no. 9. 2004.
[11]
Vieira, M. R. E. A Compositional Approach for Analyzing Dependencies in Component-Based Systems. Doctoral Thesis. University of California. Irvine. 2004.
[12]
Blois, A. P., Werner, C. M. L., and Becker, K. Towards a Components Grouping Technique within a Domain Engineering Process. 31st EUROMICRO Conference. pp. 18--25. 2005.
[13]
Jaccard, P. Étude comparative de la distribution florale dans une portion des Alpes et des Jura. Société Vaudoise des Sciences Naturelles, Bulletin 37, pp. 547--579. 1901.
[14]
Linden, F. J., Schmid, K., and Rommes, E. Software Product Lines in Action: The Best Industrial Practice in Product Line Engineering. Springer-Verlag. New York, Inc. 2007.
[15]
Kirkpatrick, S., Gelatt, C. D., and Vecchi, M. P. Optimization by Simulated Annealing. Science. vol. 220. no. 4598. pp. 671--680. 1983.
[16]
Zolfaghari, S., and Liang, M. Comparative Study of Simulated Annealing, Genetic Algorithms and Tabu Search of Solving Binary and Comprehensive Machine-Grouping Problems. International Journal of Production Research. vol. 40. no. 9. pp. 2141--2158. 2002.
[17]
Gomaa, H. Designing Software Product Lines with UML: From Use Cases to Pattern-Based Software Architectures. Addison Wesley. 2005.
[18]
Mancoridis, S., et al. Using Automatic Clustering to Produce High-Level System Organizations of Source Code. 6th International Workshop on Program Comprehension. pp. 45--53. 1998.
[19]
Mancoridis, S., et al. Bunch: A Clustering Tool for the Recovery and Maintenance of Software System Structures. IEEE Int. Conf. on Software Maintenance. pp. 50--59. 1999.
[20]
Doval, D., Mancoridis, S., and Mitchell, B. S. Automatic Clustering of Software Systems using a Genetic Algorithm. Int. Conf. on Software Tools and Engineering Practice. pp. 73--81. 1999.
[21]
Mitchell, B. S., and Mancoridis, S. Using Heuristic Search Techniques to Extract Design Abstractions from Source Code. Genetic and Evolutionary Computation Conference. pp. 1375--1382. 2002.
[22]
Mahdavi, K., Harman, M., and Hierons, R. M. A Multiple Hill Climbing Approach to Software Module Clustering. IEEE Int. Conf. on Software Maintenance. pp. 315--324. 2003.
[23]
Harman, M., Hierons, R. M., and Proctor, M. A New Representation and Crossover Operator for Search-Based Optimization of Software Modularization. Genetic and Evolutionary Computation Conference, pp. 1351--1358. 2002.
[24]
Harman, M., Swift, S., and Mahdavi, K. An Empirical Study of the Robustness of Two Module Clustering Fitness Functions. Genetic and Evolutionary Computation Conference. pp. 1029--1036. 2005.
[25]
Praditwong, K., et al. Software Module Clustering as a Multi-Objective Search Problem. IEEE Transactions on Software Engineering., vol. 37(2). pp. 264--282. 2010.

Cited By

View all
  • (2019)Challenges and recommended practices for software architecting in global software developmentInformation and Software Technology10.1016/j.infsof.2018.10.008106(234-253)Online publication date: Feb-2019

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
SAC '15: Proceedings of the 30th Annual ACM Symposium on Applied Computing
April 2015
2418 pages
ISBN:9781450331968
DOI:10.1145/2695664
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]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 13 April 2015

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. architectural metrics
  2. design structure matrix
  3. global software development
  4. search based software engineering
  5. simulated annealing
  6. software product line

Qualifiers

  • Research-article

Funding Sources

  • CNPq

Conference

SAC 2015
Sponsor:
SAC 2015: Symposium on Applied Computing
April 13 - 17, 2015
Salamanca, Spain

Acceptance Rates

SAC '15 Paper Acceptance Rate 291 of 1,211 submissions, 24%;
Overall Acceptance Rate 1,650 of 6,669 submissions, 25%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)1
  • Downloads (Last 6 weeks)0
Reflects downloads up to 02 Sep 2024

Other Metrics

Citations

Cited By

View all
  • (2019)Challenges and recommended practices for software architecting in global software developmentInformation and Software Technology10.1016/j.infsof.2018.10.008106(234-253)Online publication date: Feb-2019

View Options

Get Access

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media