Skip to main content

Using Hypergraph Clustering for Software Architecture Reconstruction of Data-Tier Software

  • Conference paper
  • First Online:
Software Architecture (ECSA 2016)

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 9839))

Included in the following conference series:

Abstract

Software architecture reconstruction techniques aim at recovering software architecture documentation regarding a software system. These techniques mainly analyze coupling/dependencies among the software modules to group them and reason about the high-level structure of the system. Hereby, inter-dependencies among the software modules are mainly represented with design structure matrices or regular directed/undirected graphs. In this paper, we introduce a software architecture reconstruction approach that utilizes hypergraphs for representing inter-module dependencies. We focus on PL/SQL programs that are developed as data access tiers of business software. These programs are mainly composed of procedures that are coupled due to commonly accessed database elements. Hypergraphs are more appropriate for capturing this type of coupling, where an element can relate to more than one procedure. We illustrate the application of the approach with an industrial PL/SQL program from the telecommunications domain. We analyze and represent dependencies among the modules of this program in the form of a hypergraph. Then, we perform modularity clustering on this model and propose a packaging structure to the designer accordingly. We observed promising results in comparison with previous work. The accuracy of the results were also approved by domain experts.

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 EPUB and 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

Notes

  1. 1.

    www.oracle.com.

  2. 2.

    http://bmi.osu.edu/umit/software.html.

  3. 3.

    http://www.turkcell.com.tr.

  4. 4.

    The number of procedures and tables are slightly different compared to the previous study [2] due to the evolution of the system.

  5. 5.

    The approach is reevaluated for the new version of the subject system.

References

  1. Oracle Database Online Documentation 11g Release developing and using stored procedures. http://docs.oracle.com/. Accessed Mar 2016

  2. Altinisik, M., Sozer, H.: Automated procedure clustering for reverse engineering PL/SQL programs. In: Proceedings of the 31st ACM Symposium on Applied Computing, pp. 1440–1445 (2016)

    Google Scholar 

  3. Bass, L., Clements, P., Kazman, R.: Software Architecture in Practice, 3rd edn. Addison-Wesley, Boston (2003)

    Google Scholar 

  4. Callo, T., America, P., Avgeriou, P.: A top-down approach to construct execution views of a large software-intensive system. J. Sof. Evol. Process 25(3), 233–260 (2013)

    Article  Google Scholar 

  5. Çatalyürek, Ü.V., Kaya, K., Langguth, J., Uçar, B.: A partitioning-based divisive clustering technique for maximizing the modularity. In: Proceedings of the 10th DIMACS Implementation Challenge Workshop - Graph Partitioning and Graph Clustering, pp. 171–186 (2012)

    Google Scholar 

  6. Çatalyürek, U., Kaya, K., Langguth, J., Uçar, B.: A partitioning-based divisive clustering technique for maximizing the modularity. In: Graph Partitioning and Graph Clustering. Contemporary Mathematics, vol. 588. American Mathematical Society (2013)

    Google Scholar 

  7. Chaparro, O., Aponte, J., Ortega, F., Marcus, A.: Towards the automatic extraction of structural business rules from legacy databases. In: Proceedings of the 19th Working Conference on Reverse Engineering, pp. 479–488 (2012)

    Google Scholar 

  8. Ducasse, S., Pollet, D.: Software architecture reconstruction: a process-oriented taxonomy. IEEE Trans. Soft. Eng. 35(4), 573–591 (2009)

    Article  Google Scholar 

  9. Eppinger, S., Browning, T.: Design Structure Matrix Methods and Applications. MIT Press, Cambridge (2012)

    Google Scholar 

  10. Guo, G., Atlee, J., Kazman, R.: A software architecture reconstruction method. In: Proceedings of the 1st Working Conference on Software Architecture, pp. 15–34 (1999)

    Google Scholar 

  11. Habringer, M., Moser, M., Pichler, J.: Reverse engineering PL/SQL legacy code: an experience report. In: Proceedings of the IEEE International Conference on Software Maintenance and Evolution, pp. 553–556 (2014)

    Google Scholar 

  12. Qingshan, L., et al.: Architecture recovery and abstraction from the perspective of processes. In: WCRE, pp. 57–66 (2005)

    Google Scholar 

  13. Mitchell, B., Mancoridis, S.: On the automatic modularization of software systems using the bunch tool. IEEE Trans. Soft. Eng. 32(3), 193–208 (2006)

    Article  Google Scholar 

  14. Murphy, G., Notkin, D., Sullivan, K.: Software reflexion models: Bridging the gap between design and implementation. IEEE Trans. Soft. Eng. 27(4), 364–380 (2001)

    Article  Google Scholar 

  15. Clements, P., et al.: Documenting Software Architectures. Addison-Wesley, Bostan (2002)

    Google Scholar 

  16. Parnas, D.L.: On the criteria to be used in decomposing systems into modules. Commun. ACM 15(12), 1053–1058 (1972)

    Article  Google Scholar 

  17. Eick, S., et al.: Does code decay? assessing the evidence from change management data. IEEE Trans. Soft. Eng. 27(1), 1–12 (2001)

    Article  Google Scholar 

  18. Sangal, N., Jordan, E., Sinha, V., Jackson, D.: Using dependency models to manage complex software architecture. In: Proceedings of the 20th Conference on Object-Oriented Programming, Systems, Languages and Applications, pp. 167–176 (2005)

    Google Scholar 

  19. Sangwan, R., Neill, C.: Characterizing essential and incidental complexity in software architectures. In: Proceedings of the 3rd European Conference on Software Architecture, pp. 265–268 (2009)

    Google Scholar 

  20. Sullivan, K., Cai, Y., Hallen, B., Griswold, W.: The structure and value of modularity in software design. In: Proceedings of the 8th European Software Engineering Conference, pp. 99–108 (2001)

    Google Scholar 

  21. Sun, C., Zhou, J., Cao, J., Jin, M., Liu, C., Shen, Y.: ReArchJBs: a tool for automated software architecture recovery of javabeans-based applications. In: Proceedings of the 16th Australian Software Engineering Conference, pp. 270–280 (2005)

    Google Scholar 

  22. Taylor, R., Medvidovic, N., Dashofy, E.: Software Architecture: Foundations, Theory, and Practice. Wiley, Hoboken (2009)

    Book  Google Scholar 

Download references

Acknowledgements

We thank the software developers and managers at Turkcell for sharing their code base with us and supporting our analysis.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Hasan Sözer .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2016 Springer International Publishing AG

About this paper

Cite this paper

Ersoy, E., Kaya, K., Altınışık, M., Sözer, H. (2016). Using Hypergraph Clustering for Software Architecture Reconstruction of Data-Tier Software. In: Tekinerdogan, B., Zdun, U., Babar, A. (eds) Software Architecture. ECSA 2016. Lecture Notes in Computer Science(), vol 9839. Springer, Cham. https://doi.org/10.1007/978-3-319-48992-6_24

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-48992-6_24

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-48991-9

  • Online ISBN: 978-3-319-48992-6

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics