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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Plasil, F., Visnovsky, S.: Behavior Protocols for Software Components. IEEE Transactions on Software Engineering 28(11) (November 2002)
Kofron, J.: Behavior Protocols Extensions, Ph.D. thesis, Charles University (September 2007), http://dsrg.mff.cuni.cz/~kofron/phd-thesis/
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)
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)
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)
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)
Chouambe, L., Klatt, B., Krogmann, K.: Reverse Engineering Software-Models of Component-Based Systems. In: Proc. of CSMR 2008 (2008)
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)
Recoder Tool, http://apps.sourceforge.net/mediawiki/recoder/
Schwartzbach, M.I.: Lecture Notes on Static Analysis (2008)
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)
Hopcroft, J.E., Motwani, R., Ullman, J.D.: HUIntroduction to Automata Theory, Languages, and Computation. Addison-Wesley, Reading (2007)
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)
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)
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)
Adamek, J.: Verification of Software Components: Addressing Unbounded Parallelism. Int. J. of Computer and Information Sci. 8(2) (2007)
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)
Kofron, J., Poch, T., Sery, O.: TBP: Code-Oriented Component Behavior Specification. In: Proc. of SEW-32. IEEE, Los Alamitos (accepted for publication) (2009)
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)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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)