Skip to main content

An Approach to Controlling the Runtime for Search Based Modularisation of Sequential Source Code Check-ins

  • Conference paper
Advances in Intelligent Data Analysis XIII (IDA 2014)

Part of the book series: Lecture Notes in Computer Science ((LNISA,volume 8819))

Included in the following conference series:

  • 1498 Accesses

Abstract

Software module clustering is the problem of automatically partitioning the structure of a software system using low-level dependencies in the source code to understand and improve the system’s architecture. Munch, a clustering tool based on search-based software engineering techniques, was used to modularise a unique dataset of sequential source code software versions. This paper employs a seeding technique, based on results from previous modularisations, to improve the effectiveness and efficiency of the procedure. In order to reduce the running time further, a statistic for controlling the number of iterations of the modularisation based on the similarities between time adjacent graphs is introduced. We examine the convergence of the heuristic search technique and estimate and evaluate a number of stopping criterion. The paper reports the results of extensive experiments conducted on our comprehensive time-series dataset and provides evidence to support our proposed techniques.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Altman, D.G.: Practical Statistics for Medical research. Chapman and Hall (1997)

    Google Scholar 

  2. Arzoky, M., Swift, S., Tucker, A., Cain, J.: Munch: An Efficient Modularisation Strategy to Assess the Degree of Refactoring on Sequential Source Code Checkings. In: IEEE Fourth International Conference on Software Testing, Verification and Validation Workshops, pp. 422–429 (2011)

    Google Scholar 

  3. Arzoky, M., Swift, S., Tucker, A., Cain, J.: A Seeded Search for the Modularisation of Sequential Software Versions. Journal of Object Technology 11(2), 6:1–6:27

    Google Scholar 

  4. Cain, J., Counsell, S., Swift, S., Tucker, A.: An Application of Intelligent Data Analysis Techniques to a Large Software Engineering Dataset. In: Adams, N.M., Robardet, C., Siebes, A., Boulicaut, J.-F. (eds.) IDA 2009. LNCS, vol. 5772, pp. 261–272. Springer, Heidelberg (2009)

    Chapter  Google Scholar 

  5. Chen, Y., Sanghavi, S., Xu, H.: Clustering sparse graphs. Advances in Neural Information Processing Systems (2012)

    Google Scholar 

  6. Chidamber, S.R., Kemerer, C.F.: A metrics suite for object oriented design. IEEE Trans, Software Eng. 20(6), 476–493 (1994)

    Article  Google Scholar 

  7. Constantine, L.L., Yourdon, E.: Structured Design. Prentice Hall (1979)

    Google Scholar 

  8. Doval, D., Mancoridis, S., Mitchell, B.S.: Automatic clustering of software systems using a genetic algorithm. In: IEEE Proceedings STEP 1999 Software Technology and Engineering Practice, pp. 73–81 (1999)

    Google Scholar 

  9. Harman, M., Hierons, R., Proctor, M.: A new representation and crossover operator for search based optimization of software modularization. In: Proc. Genetic and Evolutionary Computation Conference, pp. 1351–1358. Morgan Kaufmann Publishers (2002)

    Google Scholar 

  10. Harman, M., Mansouri, S.A., Zhang, Y.: Search-based software engineering: Trends, techniques and applications. ACM Computing Surveys (CSUR) 45(1), 11 (2012)

    Article  Google Scholar 

  11. Harman, M., Swift, S., Mahdavi, K.: An empirical study of the robustness of two module clustering fitness functions. In: Genetic and Evolutionary Computation Conference (GECCO 2005), Washington, DC, USA, pp. 1029–1036 (2005)

    Google Scholar 

  12. Mancoridis, S., Mitchell, B.S., Rorres, C., Chen, Y., Gansner, E.R.: Using automatic clustering to produce high-level system organizations of source code. In: International Workshop on Program Comprehension (IWPC 1998), pp. 45–53. IEEE Computer Society Press, Los Alamitos (1998)

    Google Scholar 

  13. Mancoridis, S., Traverso, M.: Using Heuristic Search Techniques to Extract Design Abstractions from Source Code. In: Proc. Genetic and Evolutionary Computation Conference (GECCO 2002). Morgan Kaufmann Publishers (2002)

    Google Scholar 

  14. Mardia, K.V., Kent, J.T., Bibby, J.M.: Multivariate Analysis (Probability and Mathematical Statistics). Academic Press Inc. (1979)

    Google Scholar 

  15. Michalewicz, Z., Fogel, D.B.: How to Solve It: Modern Heuristics. Springer (2000)

    Google Scholar 

  16. Mitchell, B.S.: A Heuristic Search Approach to Solving the Software Clustering Problem, PhD Thesis, Drexel, University, Philadelphia, PA (2002)

    Google Scholar 

  17. Praditwong, K., Harman, M., Yao, X.: Software Module Clustering as a Multi–Objective Search Problem. IEEE Transactions on Software Engineering 37(2), 264–282 (2011)

    Article  Google Scholar 

  18. Sommerville, I.: Software Engineering, 5th edn. Addison-Wesley (1995)

    Google Scholar 

  19. Tucker, A., Swift, S., Liu, X.: Variable Grouping in multivariate time series via correlation. IEEE Transactions on Systems, Man, and Cybernetics, Part B: Cybernetics 31(2), 235–245 (2001)

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2014 Springer International Publishing Switzerland

About this paper

Cite this paper

Arzoky, M., Swift, S., Counsell, S., Cain, J. (2014). An Approach to Controlling the Runtime for Search Based Modularisation of Sequential Source Code Check-ins. In: Blockeel, H., van Leeuwen, M., Vinciotti, V. (eds) Advances in Intelligent Data Analysis XIII. IDA 2014. Lecture Notes in Computer Science, vol 8819. Springer, Cham. https://doi.org/10.1007/978-3-319-12571-8_3

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-12571-8_3

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-12570-1

  • Online ISBN: 978-3-319-12571-8

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics