Component Protocols/Sequencing Constraints Bibliography
Component-based software development has increasingly gained popularity in industry. Correct component usage is critical to successful reuse of components. However, the expected component usage is rarely specified explicitly. One recent area of research has been to infer specifications (in the form of pre/post-conditions and in the form of protocols or sequencing constraints) using both static and dynamic techniques. The following papers address various forms of specification inference. Compare and contrast these approaches, identifying their strengths and weaknesses, and identify several possible research approaches for pushing the state-of-the-art forward in this area.
The following is my charge of general exam:
The following is my general exam report:
Tao Xie. Software Component Protocol Inference. General Examination Report, University of Washington Department of Computer Science and Engineering, (Seattle, WA), June 2002. [PDF][Slides]
Extracting Component Protocols (more):
Other dynamic analyses:
Static Checking Component Protocol Conformance:
S. Butkevich, M. Renedo, G. Baumgartner, and M. Young. Compiler and tool support for debugging object protocols. In Proceedings of the 8th International Symposium on the Foundations of Software Engineering, pages 50--59. ACM, November 2000. [PDF] [Slides][Slides] RefMaterial
Robert DeLine and Manuel Fähndrich. Enforcing high-level protocols in low-level software. In Proceedings of the ACM Conference on Programming Language Design and Implementation, June 2001, pages 59-69. [PDF]
Thomas Ball, Sriram K. Rajamani, Automatically Validating Temporal Safety Properties of Interfaces, SPIN 2001, Workshop on Model Checking of Software, LNCS 2057, May 2001, pp. 103-122. [PDF]
Manuvir Das, Sorin Lerner, and Mark Seigle, ESP: Path-Sensitive Program Verification in Polynomial Time, PLDI '02: Proceedings of the ACM SIGPLAN 2002 Conference on Programming Language Design and Implementation,Berlin, Germany, June 2002. [PDF]
Sagar Chaki, Sriram K. Rajamani, Jakob Rehof, Types as Models: Model Checking Message Passing Programs, POPL 2002, [PDF]
Jamieson M. Cobleigh, Lori A. Clarke, Leon J. Osterweil. FLAVERS: A Finite State Verification Technique for Software Systems. IBM Systems Journal, 41(1):140-165, 2002 [PDF]
J. Field, D. Goyal, G. Ramalingam, and E. Yahav., Shallow finite state verification, November 2002. [PDF]
Yahav E, Verifying Safety Properties of Concurrent Java Programs using 3-Valued Logic, POPL 2001 [PDF]
Yahav E., Reps T., Sagiv M., and Wilhelm R., Verifying Temporal Heap Properties Specified via Evolution Logic, ESOP 2003 [PDF]
Kurt M. Olender, Leon J. Osterweil, Interprocedural Static Analysis of Sequencing Constraints. TOSEM 1(1): 21-52 (1992) [PDF]
Kurt M. Olender, Leon J. Osterweil: Cecil: A Sequencing Constraint Language for Automatic Static Analysis Generation. TSE 16(3): 268-280 (1990) [PDF]
Kurt M. Olender, Leon J. Osterweil, Cesar: a static sequencing constraint analyzer, Proceedings of the 3rd Testing, Analysis, and Verification Symposium, December 1989, pages 66-74 [PDF]
Bieman, J.M.; Olender, K.M., Using algebraic specifications to find sequencing defects, 1993. Proceedings of Fourth International Symposium on Software Reliability Engineering, 3-6 Nov 1993 Page(s): 226 -232 [PDF]
G. Ramalingam, A. Warshavsky, J. Field, D. Goyal, M. Sagiv, Deriving Specialized Program Analyses for Certifying Component-client Conformance, PLDI02, 83-94 [PDF]
Paola Inverardi, Alexander L. Wolf, and Daniel Yankelevich. Static Checking of System Behaviors Using Derived Component Assumptions. ACM Transactions on Software Engineering and Methodology, vol. 9, no. 3, July 2000, pp. 239-272 [PDF]
Specifying Component Protocol:
Andrés Farias and Mario Südholt, On components with explicit protocols satisfying a notion of correctness by construction. Distributed Objects and Applications 2002 (DOA 2002). Irvine, California, USA. To appear. Long version: [PDF] [PPT].
Andrés Farías, Yann-Gaël Guéhéneuc, and Mario Südholt, Integrating Behavioral Protocols in Enterprise Java Beans, Proceedings of the OOPSLA Workshop on Behavioral Semantics, 2002.[PDF] [PPT].
Daniel M. Yellin, Robert E. Storm: Protocol Specifications and Component Adaptors. TOPLAS 19(2): 292-333 (1997) [PDF]
Daniel M. Yellin, Robert E. Strom: Interfaces, Protocols, and the Semi-Automatic Construction of Software Adaptors. OOPSLA 1994: 176-190 [PDF]
L. de Alfaro and T. A. Henzinger, Interface Automata, Proc. ACM Symp. Foundations of Software Engineering, Vienna, Austria, September 2001 [PDF] Chic: A JBuilder plug-in for checking interface compatibility
Il-Hyung Cho; McGregor, J.D.; Krause, L., A protocol based approach to specifying interoperability between objects, Technology of Object-Oriented Languages, 1998. TOOLS 26. Proceedings , 3-7 Aug 1998 Page(s): 84 -96 [PDF]
James Corbett, Matthew Dwyer, John Hatcliff, Robby, Expressing Checkable Properties of Dynamic Systems: The Bandera Specification Language, June, 2001. KSU CIS Technical Report 2001-04. [PDF]
Plasil, F., Visnovsky, S., Behavior Protocols for Software Components, IEEE Transactions on Software Engineering, vol. 28, no. 11, Nov 2002 [PDF]
R. H. Campbell and A. N. Habermann: The Specification of Process Synchronization by Path Expressions, in Operating Systems, International Symposium, Rocquencourt, vol. 16, Lecture Notes in Computer Science, 1974, pp. 89-102.
Testing Based on Sequencing Constraints:
R. H. Carver and K. C. Tai, Use of sequencing constraints for specification-based testing of concurrent programs, IEEE Trans. Software Engineering, Vol. 24, No. 6, June 1998, 471-490. [PDF]
Bengi Karaçali, Kuo-Chung Tai, Automated Test Sequence Generation Using Sequencing Constraints for Concurrent Programs. International Symposium on Software Engineering for Parallel and Distributed Systems (PDSE 1999), 97- [PDF]
Applications in Security:
Dynamic Reverse Engineering:
Links:
Maintained by