Skip to main content

Extracting Behavior Specification of Components in Legacy Applications

  • Conference paper
Component-Based Software Engineering (CBSE 2009)

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

Included in the following conference series:

Abstract

A challenge of componentizing legacy applications is to extract behavior specification of suggested components. It is desirable to preserve a relation between the original structure of the source code of a component and the extracted specification; in particular, this is important for both user comprehension and for interpretation of results of any further formal verification. Even though the reverse engineering techniques providing behavior specification have already been applied on object oriented software and components, none of them targets the interplay of both the externally and internally triggered activities on the component’s provided and required interfaces from a single perspective. This paper targets the problem in the scope of Behavior Protocols and components given as a set of Java classes accompanied with information on component boundaries. To demonstrate viability of the proposed approach, this technique has been partially applied in the JAbstractor tool for the SOFA component model.

This work was partially supported by the Grant Agency of the Czech Republic project 201/08/0266.

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. Plasil, F., Visnovsky, S.: Behavior Protocols for Software Components. IEEE Transactions on Software Engineering 28(11) (November 2002)

    Google Scholar 

  2. Kofron, J.: Behavior Protocols Extensions, Ph.D. thesis, Charles University (September 2007), http://dsrg.mff.cuni.cz/~kofron/phd-thesis/

  3. Ammons, G., Bodík, R., Larus, J.R.: Mining specifications. In: Proc. of the 29th ACM SIGPLAN-SIGACT symposium on Principles of programming languages, Portland, Oregon (2002)

    Google Scholar 

  4. Whaley, J., Martin, M.C., Lam, M.S.: Automatic extraction of object-oriented component interfaces. In: Proc. of the 2002 ACM SIGSOFT international symposium on Software testing and analysis, Roma, Italy (2002)

    Google Scholar 

  5. Shoham, S., Yahav, E.: Fink. S., Pistoia M.: Static specification mining using automata-based abstractions. In: Proc. of the 2007 Int. Symposium on SW testing and analysis, London, United Kingdom (2007)

    Google Scholar 

  6. Alur, R., Černý, P., Madhusudan, P., Nam, W.: Synthesis of interface specifications for Java Classes. In: Proc. of the 32nd ACM SIGPLAN-SIGACT symposium on Principles of programming languages (2005)

    Google Scholar 

  7. Chouambe, L., Klatt, B., Krogmann, K.: Reverse Engineering Software-Models of Component-Based Systems. In: Proc. of CSMR 2008 (2008)

    Google Scholar 

  8. Bowman, I.T., Godfrey, M.W., Holt, R.C.: Extracting source models from Java programs: Parse, disassemble, or profile? In: ACM SIGPLAN Workshop on Program Analysis for SW Tools and Engineering Toulouse, France (1999)

    Google Scholar 

  9. Recoder Tool, http://apps.sourceforge.net/mediawiki/recoder/

  10. Schwartzbach, M.I.: Lecture Notes on Static Analysis (2008)

    Google Scholar 

  11. Lhoták, O., Hendren, L.: Scaling Java Points-To Analysis using Spark. In: Hedin, G. (ed.) CC 2003. LNCS, vol. 2622, pp. 153–169. Springer, Heidelberg (2003)

    Chapter  Google Scholar 

  12. Hopcroft, J.E., Motwani, R., Ullman, J.D.: HUIntroduction to Automata Theory, Languages, and Computation. Addison-Wesley, Reading (2007)

    Google Scholar 

  13. Giannakopoulou, D., Păsăreanu, C.: Interface Generation and Compositional Verification in JavaPathfinder. In: Chechik, M., Wirsing, M. (eds.) FASE 2009. LNCS, vol. 5503, pp. 93–107. Springer, Heidelberg (2009)

    Google Scholar 

  14. Jezek, P., Kofron, J., Plasil, F.: Model Checking of Component Behavior Specification: A Real Life Experience. In: Electronic Notes in Theoretical Computer Science, vol. 160. Elsevier B.V., Amsterdam (2006)

    Google Scholar 

  15. Parizek, P., Plasil, F.: Modeling of Component Environment in Presence of Callbacks and Autonomous Activities. In: Paige, R.F., Meyer, B. (eds.) TOOLS EUROPE 2008. LNBIP, vol. 11, pp. 3–22. Springer, Heidelberg (2008)

    Google Scholar 

  16. Adamek, J.: Verification of Software Components: Addressing Unbounded Parallelism. Int. J. of Computer and Information Sci. 8(2) (2007)

    Google Scholar 

  17. Kappler, T., Koziolek, H., Krogmann, K., Reussner, R.: Towards Automatic Construction of Reusable Prediction Models for Component-Based Performance Engineering. In: Proc. of Software Engineering (2008)

    Google Scholar 

  18. Kofron, J., Poch, T., Sery, O.: TBP: Code-Oriented Component Behavior Specification. In: Proc. of SEW-32. IEEE, Los Alamitos (accepted for publication) (2009)

    Google Scholar 

  19. Bures, T., Hnetynka, P., Plasil, F.: SOFA 2.0: Balancing Advanced Features in a Hierarchical Component Model. In: Proc. of SERA 2006. IEEE CS, Los Alamitos (2006)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2009 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Poch, T., Plášil, F. (2009). Extracting Behavior Specification of Components in Legacy Applications. In: Lewis, G.A., Poernomo, I., Hofmeister, C. (eds) Component-Based Software Engineering. CBSE 2009. Lecture Notes in Computer Science, vol 5582. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-02414-6_6

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-02414-6_6

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-02413-9

  • Online ISBN: 978-3-642-02414-6

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics