Skip to main content
Log in

Comparison of type-based and alias-based component recognition for embedded systems software

  • ALL-TIMES
  • Published:
International Journal on Software Tools for Technology Transfer Aims and scope Submit manuscript

Abstract

Component-based software engineering has found broad acceptance within the embedded systems community over the last years. However, to fully exploit its potential in terms of reusability and cost-efficiency, existing code-bases have to be refactored in a component-based way. To support refactorization, static analysis techniques can be used to identify components within coarse-grained layered or even monolithic legacy software for embedded systems. We present an approach for semi-automatic extraction of components from automotive software and compare two different versions, one type-based component-recognition analysis of linear complexity with a more precise version based on a points-to analysis of almost linear algorithmic complexity. Both analyses are applied to an industrial implementation of an automotive communication stack. Each analysis is evaluated with two sets of additional manually created annotations of distinct size and precision. Thus, both analyses are fully evaluated in terms of execution-time, memory consumption and analysis precision, and its impact on the number of recognized components. We show that the analysis with higher precision allows the use of a smaller user-provided filter set and obtain a proper component recognition.

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

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. Hegde, R., Hegde, M., Gurumurthy, K.S.: A paradigm shift from legacy to AUTOSAR architecture in future automotives. In: Das V.V., Thankachan N. (eds.) Computational intelligence and information technology. Communications in Computer and Information Science, vol 250, pp. 548–553. Springer, Berlin (2011). doi:10.1007/978-3-642-25734-6_94

  2. Galla, T.M., Schreiner, D., Forster, W., Kutschera, C., Göschka, K.M., Horauer, M.: Refactoring an automotive ebedded software stack using the component-based paradigm. In: Proceedings of the Second IEEE International Symposium on Industrial Embedded Systems (SIES 2007), pp. 200–208. IEEE (2007)

  3. Schreiner, D., Schordan, M., Barany, G., Göschka, K.M.: Source code based component recognition in software stacks for embedded systems. In: Proceedings of the 2008 IEEE/ASME International Conference on Mechatronic and Embedded Systems and Applications (MESA08), IEEE, pp. 463–468 (2008)

  4. SATIrE: http://www.complang.tuwien.ac.at/satire Static Analysis Tool Integration Engine

  5. Schreiner, D., Schordan, M., Knoop, J.: Adding timing-awareness to autosar basic-software—a component based approach. In: Proceedings of the 12th IEEE International Symposium on Object/Component/Service-Oriented Real-Time Distributed Computing (ISORC 2009), IEEE, pp. 288–292. IEEE Computer Society (2009)

  6. Lakhotia A.: A unified framework for expressing software subsystem classification techniques. J. Syst. Softw. 36(3), 211–231 (1997)

    Article  Google Scholar 

  7. Steensgaard, B.: Points-to analysis in almost linear time. In: POPL ’96: Proceedings of the 23rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages, New York, NY, USA, pp. 32–41. ACM New York (1996)

  8. Tarjan R.E.: Efficiency of a good but not linear set union algorithm. J. ACM 22(2), 215–225 (1975)

    Article  MathSciNet  MATH  Google Scholar 

  9. Heinecke, H., Schnelle, K.P., Fennel, H., Bortolazzi, J., Lundh, L., Leflour, J., Mate, J.L., Nishikawa, K., Scharnhorst, T.: AUTomotive Open System ARchitecture—an industry-wide initiative to manage the complexity of emerging automotive E/E-architectures. In: Proceedings of the Convergence International Congress and Exposition on Transportation Electronics. SAE-2004-21-0042, Detroit, MI, USA (2004)

  10. Edison Design Group, Inc.: EDG web site. http://www.edg.com/

  11. Schordan, M., Quinlan, D.: Specifying transformation sequences as computation on program fragments with an abstract attribute grammar. In: Proceedings of SCAM ’05, Washington, DC, USA, pp. 97–106. IEEE Computer Society (2005)

  12. Schordan, M.: Source-to-source analysis with SATIrE—an example revisited. In: Proceedings of the Dagstuhl Seminar 08161: Scalable Program Analysis, p. 17. Dagstuhl (2008)

  13. Lee, J.K., Seung, S.J., Kim, S.D., Hyun, W., Han, D.H.: Component identification method with coupling and cohesion. In: Proceedings of the Eight Asia-Pacific Software Engineering Conference 2001 (APSEC 2001), Washington, DC, USA, pp. 79–86. IEEE Computer Society (Dezember 2001)

  14. Emami M., Ghiya R., Hendren L.J.: Context-sensitive interprocedural points-to analysis in the presence of function pointers. ACM SIGPLAN Notices 29(6), 242–256 (1994)

    Article  Google Scholar 

  15. Hind M., Burke M., Carini P., Choi J.D.: Interprocedural pointer alias analysis. ACM Trans. Program. Lang. Syst. (TOPLAS) 21(4), 848–894 (1999)

    Article  Google Scholar 

  16. Diwan, A., McKinley, K.S., Moss, J.E.B.: Type-based alias analysis. In: Proceedings of the ACM SIGPLAN 1998 Conference on Programming Language Design and Implementation (PLDI), New York, NY, USA, pp. 106–117. ACM, New York (1998)

  17. Hardekopf, B., Lin, C.: Flow-sensitive pointer analysis for millions of lines of code. In: Symposium on Code Generation and Optimization (CGO) (2011)

  18. ALL-TIMES Consortium: Project ALL-TIMES: Integrating European Timing Analysis Technology. http://www.all-times.org/

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Markus Schordan.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Schreiner, D., Barany, G., Schordan, M. et al. Comparison of type-based and alias-based component recognition for embedded systems software. Int J Softw Tools Technol Transfer 15, 41–52 (2013). https://doi.org/10.1007/s10009-012-0251-0

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10009-012-0251-0

Keywords

Navigation