Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
research-article

Verification of Architectural Constraints on Sequences of Method Invocations

Published: 06 February 2015 Publication History

Abstract

The importance of correspondence between the architectural prescription and implementation has been long recognized. This paper presents an approach to verification of constraints on method invocation chains prescribed by an architectural style. It consists of two key steps. One, static backward and forward search is applied on the call graph of the system, to find all potential paths between the initial method and the final method prescribed in the architecture. Two, symbolic execution is applied to check the feasibility of those potential paths and generate tests for all feasible ones to check the correspondence. We implement our approach in a prototype based on Soot and Symbolic PathFinder (SPF), and demonstrate the usefulness of our approach using a case study.

References

[1]
J. Aldrich, C. Chambers, and D. Notkin. Archjava: Connecting software architecture to implementation. In Proceedings of the 24th International Conference on Software Engineering, ICSE '02, pages 187--197, New York, NY, USA, 2002. ACM.
[2]
R. Allen. A Formal Approach to Software Architecture. PhD thesis, Carnegie Mellon, School of Computer Science, January 1997. Issued as CMU Technical Report CMU-CS-97-144.
[3]
L. A. Clarke. A program testing system. In Proc. of the 1976 annual conference, ACM '76, pages 488--491, 1976.
[4]
J. Hunt. You've got the model-view-controller. Planet Java.
[5]
J. C. King. Symbolic execution and program testing. Communications of the ACM, 19(7):385--394, 1976.
[6]
G. E. Krasner and S. T. Pope. A cookbook for using the model-view controller user interface paradigm in smalltalk-80. J. Object Oriented Program., 1(3):26--49, Aug. 1988.
[7]
K.-K. Ma, K. Y. Phang, J. S. Foster, and M. Hicks. Directed symbolic execution. In Proceedings of the 18th International Conference on Static Analysis, SAS'11, pages 95--111, Berlin, Heidelberg, 2011. Springer-Verlag.
[8]
D. E. Perry and A. L. Wolf. Foundations for the study of software architecture. SIGSOFT Softw. Eng. Notes, 17(4):40--52, Oct. 1992.
[9]
C. S. Păsăreanu and N. Rungta. Symbolic PathFinder: symbolic execution of Java bytecode. In ASE, pages 179--180, 2010.
[10]
R. Vallée-Rai, P. Co, E. Gagnon, L. J. Hendren, P. Lam, and V. Sundaresan. Soot - a java bytecode optimization framework. In CASCON, page 13, 1999.

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM SIGSOFT Software Engineering Notes
ACM SIGSOFT Software Engineering Notes  Volume 40, Issue 1
January 2015
237 pages
ISSN:0163-5948
DOI:10.1145/2693208
Issue’s Table of Contents

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 06 February 2015
Published in SIGSOFT Volume 40, Issue 1

Check for updates

Author Tags

  1. Verification
  2. architecture
  3. call graph
  4. symbolic execution

Qualifiers

  • Research-article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • 0
    Total Citations
  • 74
    Total Downloads
  • Downloads (Last 12 months)0
  • Downloads (Last 6 weeks)0
Reflects downloads up to 12 Jan 2025

Other Metrics

Citations

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media