Abstract
In this paper we present a flexible framework for fine tuning the quality of program analysis based on variations, generalizations, and pragmatic extensions of Plotkin’s Structured Operational Semantics (SOS). Key to these variations is the idea of Property-Oriented Expansion, here the non-standard use of the data component in SOS configurations, which ranges from simple abstract interpretations, over arbitrary data flow information, to e.g., temporal constraints. In its most general form, which is characterized by the notion of unifying models, this results in a framework not only for fine-tuning program analysis according to an aspect (quality) of choice, but also for synthesizing orchestrations for service-oriented applications based on loose temporal specifications. From an engineering perspective, the simple interface pattern underlying the unifying models approach was key for realizing our experimental platform. Our experimental results, in particular concerning the state explosion problem, indicate that, in practice, limiting the expansion to the previously determined areas of impact suffices to keep the code growth quite moderate.
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
Bacon, D.F., Sweeney, P.F.: Fast static analysis of c++ virtual function calls. In: OOPSLA 1996: Proceedings of the 11th ACM SIGPLAN Conference on Object-oriented Programming, Systems, Languages, and Applications. ACM, New York (1996)
Clarke, E.M., Grumberg, O., Peled, D.: Model Checking. MIT Press, Cambridge (2000)
Cousot, P., Cousot, R.: Abstract interpretation: A unified lattice model for static analysis of programs by construction or approximation of fixpoints. In: Conf. Record of the 4th ACM Symposium on Principles of Programming Languages, POPL, Los Angeles, CA, pp. 238–252 (1977)
Freitag, B., Margaria, T., Steffen, B.: A pragmatic approach to software synthesis. In: Workshop on Interface Definition Languages, pp. 46–58 (1994)
Hecht, M.S.: Flow Analysis of Computer Programs. Elsevier, North-Holland (1977)
Hölzle, U., Ungar, D.: Optimizing dynamically-dispatched calls with run-time type feedback. In: PLDI 1994: Proceedings of the ACM SIGPLAN 1994 Conference on Programming Language Design and Implementation, pp. 326–336. ACM, New York (1994)
Karsch, N.: Virtual call resolution basierend auf property oriented expansion. Master’s thesis, Department of Computer Science, Technical University of Dortmund (2009)
Knoop, J., Rüthing, O., Steffen, B.: Lazy code motion. In: Proc. ACM SIGPLAN Conference on Programming Language Design and Implementation, PLDI 1992, San Francisco, CA, June 1992. ACM SIGPLAN Notices, vol. 27(7), pp. 224–234 (1992)
Knoop, J., Rüthing, O., Steffen, B.: Partial dead code elimination. In: Proc. ACM SIGPLAN Conference on Programming Language Design and Implementation, PLDI 1994, Orlando, FL, June 1994. ACM SIGPLAN Notices, vol. 29(6), pp. 147–158 (1994)
Knoop, J., Rüthing, O., Steffen, B.: The power of assignment motion. In: Proc. ACM SIGPLAN Conference on Programming Language Design and Implementation, PLDI 1995, La Jolla, CA, June 1995. ACM SIGPLAN Notices, vol. 30(6), pp. 233–245 (1995)
Knoop, J., Rüthing, O., Steffen, B.: Expansion-based removal of semantic partial redundancies. In: Jähnichen, S. (ed.) CC 1999. LNCS, vol. 1575, pp. 91–107. Springer, Heidelberg (1999)
Lamprecht, A.-L., Naujokat, S., Margaria, T., Steffen, B.: Synthesis-Based Loose Programming. In: Proceedings of the 7th International Conference on the Quality of Information and Communications Technology, QUATIC (2010)
Margaria, T., Meyer, D., Kubczak, C., Isberner, M., Steffen, B.: Synthesizing semantic web service compositions with jMosel and golog. In: Bernstein, A., Karger, D.R., Heath, T., Feigenbaum, L., Maynard, D., Motta, E., Thirunarayan, K. (eds.) ISWC 2009. LNCS, vol. 5823, pp. 392–407. Springer, Heidelberg (2009)
Margaria, T., Steffen, B.: Backtracking-free design planning by automatic synthesis in METAFrame. In: Astesiano, E. (ed.) ETAPS 1998 and FASE 1998. LNCS, vol. 1382, pp. 188–204. Springer, Heidelberg (1998)
Morel, E., Renvoise, C.: Global optimization by suppression of partial redundancies. Communications of the ACM 22(2), 96–103 (1979)
Müller-Olm, M., Schmidt, D.A., Steffen, B.: Model-checking. In: Cortesi, A., Filé, G. (eds.) SAS 1999. LNCS, vol. 1694, pp. 330–354. Springer, Heidelberg (1999)
Plotkin, G.: A structural approach to operational semantics. Technical report, Aarhus Univ., Computer Science Dept., Denmark, DAIMI FN-19 (1981)
Rüthing, O., Knoop, J., Steffen, B.: Detecting equalities of variables: Combining efficiency with precision. In: Cortesi, A., Filé, G. (eds.) SAS 1999. LNCS, vol. 1694, p. 232. Springer, Heidelberg (1999)
Steffen, B., Knoop, J., Rüthing, O.: The value flow graph: A program representation for optimal program transformations. In: Jones, N.D. (ed.) ESOP 1990. LNCS, vol. 432, pp. 389–405. Springer, Heidelberg (1990)
Steffen, B.: Property-oriented expansion. In: Cousot, R., Schmidt, D.A. (eds.) SAS 1996. LNCS, vol. 1145, pp. 22–41. Springer, Heidelberg (1996)
Steffen, B.: Unifying models. In: Reischuk, R., Morvan, M. (eds.) STACS 1997. LNCS, vol. 1200, pp. 1–20. Springer, Heidelberg (1997)
Steffen, B., Claßen, A., Klein, M., Knoop, J., Margaria, T.: The fixpoint-analysis machine. In: Lee, I., Smolka, S.A. (eds.) CONCUR 1995. LNCS, vol. 962, pp. 72–87. Springer, Heidelberg (1995)
Steffen, B., Margaria, T., Braun, V.: The electronic tool integration platform: Concepts and design. STTT 1(1-2), 9–30 (1997)
Steffen, B., Margaria, T., Claßen, A., Braun, V.: Incremental formalization: A key to industrial success. Software - Concepts and Tools 17(2), 78–91 (1996)
Sundaresan, V., Hendren, L., Razafimahefa, C., Vallée-Rai, R., Lam, P., Gagnon, E., Godin, C.: Practical virtual method call resolution for Java. In: OOPSLA 2000: Proceedings of the 15th ACM SIGPLAN Conference on Object-oriented Programming, Systems, Languages, and Applications, pp. 264–280. ACM, New York (2000)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2011 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Steffen, B., Rüthing, O. (2011). Quality Engineering: Leveraging Heterogeneous Information. In: Jhala, R., Schmidt, D. (eds) Verification, Model Checking, and Abstract Interpretation. VMCAI 2011. Lecture Notes in Computer Science, vol 6538. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-18275-4_4
Download citation
DOI: https://doi.org/10.1007/978-3-642-18275-4_4
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-18274-7
Online ISBN: 978-3-642-18275-4
eBook Packages: Computer ScienceComputer Science (R0)