Tracechecks: Defining semantic interfaces with temporal logic
|
|
- Elvin Junior Douglas
- 5 years ago
- Views:
Transcription
1 Tracechecks Defining semantic interfaces with temporal logic Eric Bodden 1 Volker Stolz 2 1 Sable Research Group McGill University, Montréal, Canada 2 MOVES: Software Modeling and Verification RWTH Aachen University, Aachen, Germany Vienna, March 25th, 2006
2 Outline What do we do? Dynamic verification of interface protocols in Java Problems with static approaches: (see talks on components today) recursion data structures Source code often contains informal requirements specifications. Our contribution: make a formal specification explicit in interfaces automatically instrument base application and check it at runtime
3 Temporal specifications Temporal specifications in Java today Excerpt from docs of java.util.iterator Method: void remove() Removes from the underlying collection the last element returned by the iterator (optional operation). This method can be called only once per call to next. The behavior of an iterator is unspecified if the underlying collection is modified while the iteration is in progress in any way other than by calling this method. Throws: UnsupportedOperationException - if the remove operation is not supported by this Iterator. IllegalStateException - if the next method has not yet been called, or the remove method has already been called after the last call to the next method.
4 What we actually want to say Temporal specifications next update create update next
5 Temporal specifications Temporal specifications in Java today Problems with previous approaches The JDK implements checks for this by a combination of various counters in the iterator and collection classes. Implementation tedious and errorprone Requirement only in comments, which can easily be missed.... part of interface, i.e. Iterator Yet, it must be implemented within all implementors. And... not all do!... of crosscutting nature.
6 Can we do any better? Temporal specifications Prototype tool Java Logical Observer (J-LO): provides a means for specifying temporal assertions, called tracechecks can be attached to interfaces and classes uses Java 5 annotations formalism: extension of Linear Temporal Logic instrumentation through AspectJ
7 Tracechecks Temporal specifications 1 tracecheck ( C o l l e c t i o n col, I t e r a t o r i t e r ) { 2 3 sym create ( C o l l e c t i o n c, I t e r a t o r i ) a f t e r returning ( i ) : 4 c a l l ( C o l l e c t i o n +. i t e r a t o r ( ) ) && target ( c ) ; 5 sym next ( I t e r a t o r i ) before : 6 c a l l ( Object I t e r a t o r. next ( ) ) && target ( i ) ; 7 sym update ( C o l l e c t i o n c ) a f t e r : 8 update ( ) && target ( c ) ; 9 10 G( create ( col, i t e r ) X G( modify ( c o l ) G(! next ( i t e r ) ) ) ) 11 { 12 //could use "col" and "iter" 13 throw new ConcurrentModificationException ( ) ; 14 } 15 }
8 Tracechecks Benefits Temporal specifications Provides convenient instance-based reasoning via free variables. Allows for flexible deployment scenarios. As AspectJ language extension (seen before). In the form of Java 5 annotations... Specification right in place - even at interfaces.
9 Tracechecks Annotation style syntax Temporal specifications 1 public interface It erat or { " 5 Collection c, thistype i : 6 G( ( 7 e x it ( c a l l ( C o l l e c t i o n +. i t e r a t o r ( ) ) 8 && target ( c ) ) returning i 9 ) ( 10 X(G( 11 ( entry ( 12 ( c a l l ( C o l l e c t i o n +. add (.. ) ) 13 c a l l ( C o l l e c t i o n +. remove (.. ) ) 14 c a l l ( C o l l e c t i o n +. clear ( ) ) 15 ) && target ( c ) 16 ) 17 ) ( 18 G( 19! ( 20 entry ( c a l l ( thismethod ) && target ( i ) ) 21 ) ) ) ) ) ) ) 22 " ) 23 public Object next ( ) ; }
10 Semantic interfaces with J-LO How does it work? Code generation 1 Generate an AspectJ aspect implementing the required checks. 2 Weave this aspect into the base application. 3 The instrumented application checks itself during runtime. Evaluation based on Alternating Automata.
11 Runtime Verification Dynamic model Code generation s 0 /0 s 1 {p 1,p 2 } s 2 {p 1 } s 3 {p 1 } s 4{p2 } /0 {p 1,p 2 } {p 1 } {p 1 } Path identified by a sequence of sets of propositions 2 P Recognition of cycles impossible Path π = π[0]... π[n 1] finite
12 Code generation Specification encoded in Alternating automata G(p(x) F q(x)) p(x) p(1) F q(1) p(x) q(1) q(1) tt Σ
13 Code generation Specification encoded in Alternating automata G(p(x) F q(x)) p(x) p(1) p(2) p(x) F q(1) F q(2) q(1) q(1) q(2) q(2) tt tt Σ Σ
14 Implementation Example Code generation {{G(p(x) F q(x))}} {p(1),p(2)} {{G(p(x) F q(x)),f q(1),f q(2)}} {q(1)} {{G(p(x) F q(x)),f q(2)}} {q(2)} {{G(p(x) F q(x))}} G(p F q) p p F q q q tt Σ
15 Code generation Code generation Compiler Codegen Weaving Specification G( p )... Java bytecode G( p )... AFA in AspectJ aspect F1 {... Java bytecode if(!p) {... J-LO Tools we used: BAT2XML (TU Darmstadt) Extracts spec from Java annotations AspectBench Compiler ( abc, Oxford/McGill University) Code generations (AST rewrites) Instrumentation ( weaving )
16 Benchmarks Code generation Verification of temporal assertions for data structures: HashSets G( add ( set, c o l ) X G( modify ( c ) X( remove ( set, c o l ) R! contains ( set, c o l ) ) ) ) Stacks G( push ( s ) R! pop ( s ) ) Iterators / Enumerations tested with JHotDraw Lock order reversal problem tested with JigSaw (did actually find warnings!)
17 Related work Related work Future work Mainly on the fields of Aspect-oriented programming Program Query Languages Component Based Design Runtime Verification
18 Related work AOP/PQL/CBD Related work Future work Event based AOP (Douence et al.) [DFS04] Tracecuts (Walker et al.) [WV04] Tracematches (Allan et al.) [AAS + 04] Gamma (Ostermann et al.) [KO05] PQL (Martin et al.) [MLL05] PTQL (Goldsmith et al.) [GOA05] Südholt and Farias (Components with explicit behavioral protocols) [FS02]
19 Related work Runtime Verification Related work Future work Havelund et al. (NASA AMES) EAGLE [HBS03], Java PathExplorer [HR04] HAWK [dh05]: based on AspectJ/EAGLE, only subset of LTL Java MAC [KVK + 04] Temporal Rover manual instrumentation only
20 Future Work Related work Future work Future work: Tight integration with abc (in particular: Tracematches) Lowering the evaluation cost at runtime (JVM support?) Static dataflow analysis approximating results of Model Checking Performance optimizations
21 Related work Future work Tracechecks: Specification language for runtime-checking temporal assertions based on: AspectJ pointcuts, for generating a path model at runtime Linear temporal logic (LTL) to express temporal conditions over such paths Implementation using alternating automata and dynamic bindings in the Java Logical Observer - J-LO
22 Related work Future work Thank you for your attention Try it out:
23 Appendix Program execution Thread t1 Lock l1 Aspect lock() lock(a=t1,x=l1) lock(a=t1,y=l1) props.add("lock(a,x)",[a=t1,x=l1]) Variables: Thread a, Lock x, Lock y props.add("lock(a,y)",[a=t1,y=l1]) lock configuration.transition(props) props= emptyset Propositions: lock(a,x), lock(a,y) lock
24 Appendix Bibliography I C. Allan, P. Avgustinov, A.S. Simon, L. Hendren, S. Kuzins, O. Lhoták, O. de Moor, D. Sereni, G. Sittamplan, and J. Tibble. Adding trace matching to AspectJ (submitted to OOPSLA 05). abc Technical Report abc , McGill University, Rémi Douence, Pascal Fradet, and Mario Südholt. Composition, reuse and interaction analysis of stateful aspects. In AOSD 04: Proceedings of the 3rd international conference on Aspect-oriented software development, pages ACM Press, Marcelo d Amorim and Klaus Havelund. Event-based runtime verification of java programs. In WODA 05: Proceedings of the third international workshop on Dynamic analysis, pages 1 7, New York, NY, USA, ACM Press. Andrés Farías and Mario Südholt. On components with explicit protocols satisfying a notion of correctness by construction. In In International Symposium on Distributed Objects and Applications (DOA). LNCS, Simon Goldsmith, Robert O Callahan, and Alex Aiken. Relational queries over program traces. In Proceedings of the 20th Annual ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages and Applications, pages , K. Havelund H. Barringer, A. Goldberg and K. Sen. EAGLE does space efficient LTL monitoring. Pre-Print CSPP-25, Department of Computer Science, University of Manchester, October 2003.
25 Appendix Bibliography II K. Havelund and G. Roşu. An Overview of the Runtime Verification Tool Java PathExplorer. Formal Methods in System Design, 24(2): , K. Klose and K. Ostermann. Back to the future: Pointcuts as predicates over traces. In Foundations of Aspect-Oriented Languages workshop (FOAL 05), Chicago, USA, M. Kim, M. Viswanathan, S. Kannan, I. Lee, and O.V. Sokolsky. Java-MaC: A Run-time Assurance Approach for Java Programs. Formal Methods in System Design, 24(2): , Michael Martin, Benjamin Livshits, and Monica S. Lam. Finding application errors using PQL: a program query language. In Proceedings of the 20th Annual ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages and Applications, pages , Robert J. Walker and Kevin Viggers. Implementing protocols via declarative event patterns. In SIGSOFT FSE, pages , 2004.
MOPBox: A Library Approach to Runtime Verification
MOPBox: A Library Approach to Runtime Verification (Tool Demonstration) Eric Bodden eric.bodden@cased.de Center for Advanced Security Research Darmstadt Software Technology Group Technische Universität
More informationJava-MOP: A Monitoring Oriented Programming Environment for Java
Java-MOP: A Monitoring Oriented Programming Environment for Java Feng Chen and Grigore Roşu Department of Computer Science, University of Illinois at Urbana - Champaign, USA {fengchen, grosu}@uiuc.edu
More informationA Special-Purpose AOP Framework for Runtime Monitoring
A Special-Purpose AOP Framework for Runtime Monitoring Amjad Nusayr Jonathan Cook Gholamali Rahnavard University of Houston - Victoria New Mexico State University New Mexico State University anusayr@cs.nmsu.edu
More informationAdding Trace Matching with Free Variables to AspectJ
Adding Trace Matching with Free Variables to AspectJ Chris Allan 1, Pavel Avgustinov 1, Aske Simon Christensen 2, Laurie Hendren 3, Sascha Kuzins 1, Ondřej Lhoták 3, Oege de Moor 1, Damien Sereni 1, Ganesh
More informationAdding trace matching to AspectJ
The abc Group Adding trace matching to AspectJ abc Technical Report No. abc-2005-1 Chris Allan 1, Pavel Avgustinov 1, Aske Simon Christensen 2, Laurie Hendren 3, Sascha Kuzins 1, Ondřej Lhoták 3, Oege
More informationMOP: An Efficient and Generic Runtime Verification Framework
MOP: An Efficient and Generic Runtime Verification Framework Feng Chen Grigore Roşu University of Illinois at Urbana-Champaign {fengchen,grosu@cs.uiuc.edu Abstract Monitoring-Oriented Programming (MOP
More informationParametric Trace Slicing and Monitoring
Parametric Trace Slicing and Monitoring Feng Chen and Grigore Roşu Department of Computer Science, University of Illinois at Urbana-Champaign {fengchen,grosu}@cs.uiuc.edu Abstract. Analysis of execution
More informationEfficient Trace Monitoring
The abc Group Efficient Trace Monitoring abc Technical Report No. abc-2006-1 Pavel Avgustinov 1, Julian Tibble 1, Eric Bodden 2, Ondřej Lhoták 3, Laurie Hendren 2, Oege de Moor 1, Neil Ongkingco 1, Ganesh
More informationMOP: An Efficient and Generic Runtime Verification Framework
MOP: An Efficient and Generic Runtime Verification Framework Feng Chen Grigore Roşu University of Illinois at Urbana-Champaign {fengchen,grosu@cs.uiuc.edu Abstract Monitoring-Oriented Programming (MOP
More informationNomair A. Naeem. Personal Data. Education. Teaching Experience. Course Instructor/Sessional
Nomair A. Naeem Personal Data Address: E-mail: Web Page: David R. Cheriton School of Computer Science University of Waterloo 200 University Avenue West Waterloo, ON N2L 3G1, Canada nanaeem@uwaterloo.ca
More informationXAJ: An Extensible Aspect Oriented Language
XAJ: An Extensible Aspect Oriented Language Leonardo V. S. Reis, Roberto S. Bigonha, Mariza A. S. Bigonha Departamento de Ciência da Computação Universidade Federal de Minas Gerais Belo Horizonte, Brazil
More informationAn Extensible AOP Framework for Runtime Monitoring
An Extensible AOP Framework for Runtime Monitoring Gholamali Rahnavard Amjad Nusayr Jonathan Cook New Mexico State University University of Houston - Victoria New Mexico State University rah@nmsu.edu nusayra@uhv.edu
More informationNu: a Dynamic Aspect-Oriented Intermediate Language Model and Virtual Machine for Flexible Runtime Adaptation
Nu: a Dynamic Aspect-Oriented Intermediate Language Model and Virtual Machine for Flexible Runtime Adaptation Robert Dyer and Hridesh Rajan Department of Computer Science Iowa State University {rdyer,hridesh}@cs.iastate.edu
More informationPL Punta Arenas
PL 2008 - Punta Arenas Aspects, Processes, and Components Jacques Noyé OBASCO - Ecole des Mines de Nantes/INRIA, LINA Jacques.Noye@emn.fr 12 November 2008 Introduction The basic idea There is usually no
More informationOptimizing AspectJ with abc
Optimizing AspectJ with abc McGill Oxford Aarhus Laurie Hendren Oege de Moor Aske Simon Jennifer Lhoták Pavel Avgustinov Christensen Ondřej Lhoták Sascha Kuzins Chris Goard Damien Sereni Clark Verbrugge
More informationEnforcing Safety Properties in Product Lines
Enforcing Safety Properties in Product Lines Chang Hwan Peter Kim 1, Eric Bodden 2, Don Batory 1 and Sarfraz Khurshid 1 1 Department of Computer Science and Department of Electrical and Computer Engineering
More informationRuntime Verification with the RV System
Runtime Verification with the RV System Patrick Meredith and Grigore Roşu 1 Runtime Verification, Inc 2 University of Illinois at Urbana-Champaign 3 {pmeredit, grosu@illinois.edu Abstract. The RV system
More informationInstrumentation of Java Bytecode for Runtime Analysis
Instrumentation of Java Bytecode for Runtime Analysis Allen Goldberg and Klaus Havelund Kestrel Technology, NASA Ames Research Center Moffett Field, MS 269-3, California USA Phone: 650-604-4858, Email:
More informationSpecification and Runtime Verification of API Constraints on Interacting Objects
Specification and Runtime Verification of API Constraints on Interacting Objects Fang Deng, Haiwen Liu, Jin Shao, Qianxiang Wang School of Electronics Engineering and Computer Science, Peking University
More informationMonitoring Assumptions in Assume-Guarantee Contracts
University of Pennsylvania ScholarlyCommons Departmental Papers (CIS) Department of Computer & Information Science 6-2016 Monitoring Assumptions in Assume-Guarantee Contracts Oleg Sokolsky University of
More informationAn Overview of the MOP Runtime Verification Framework
Software Tools for Technology Transfer manuscript No. (will be inserted by the editor) An Overview of the MOP Runtime Verification Framework Patrick O Neil Meredith, Dongyun Jin, Dennis Griffith, Feng
More informationCalFuzzer: An Extensible Active Testing Framework for Concurrent Programs Pallavi Joshi 1, Mayur Naik 2, Chang-Seo Park 1, and Koushik Sen 1
CalFuzzer: An Extensible Active Testing Framework for Concurrent Programs Pallavi Joshi 1, Mayur Naik 2, Chang-Seo Park 1, and Koushik Sen 1 1 University of California, Berkeley, USA {pallavi,parkcs,ksen}@eecs.berkeley.edu
More informationLanguage support for AOP
Language support for AOP AspectJ and beyond Mario Südholt www.emn.fr/sudholt INRIA and École des Mines de Nantes OBASCO project, Nantes, France Language support for AOP ; Mario Südholt; INRIA/EMN; March
More informationRuntime Validation Using Interval Temporal Logic
Runtime Validation Using Interval Temporal Logic Karlston D Emanuele kema001@um.edu.mt Dept. of Computer Science and AI University of Malta Gordon Pace gordon.pace@um.edu.mt Dept. of Computer Science and
More informationKlaus Havelund Kestrel Technology NASA Ames Research Center, MS 269/2 Moffett Field, CA U.S.A
Source-Code Instrumentation and Quantification of Events Robert E. Filman RIACS NASA Ames Research Center, MS 269/2 Moffett Field, CA 94035 U.S.A. +1 650 604 1250 rfilman@mail.arc.nasa.gov Klaus Havelund
More informationCover Page. The handle holds various files of this Leiden University dissertation
Cover Page The handle http://hdl.handle.net/1887/22891 holds various files of this Leiden University dissertation Author: Gouw, Stijn de Title: Combining monitoring with run-time assertion checking Issue
More informationCourse 7 25 November Adrian Iftene
Course 7 25 November 2013 Adrian Iftene adiftene@info.uaic.ro 1 Recapitulation course 6 AOP AOP Profiler Tracing Pooling PostSharp Spring Framework Runtime Verification Model Checking MOP Java MOP 2 Concern
More informationA Formal Monitoring-based Framework for Software Development and Analysis
A Formal Monitoring-based Framework for Software Development and Analysis Feng Chen, Marcelo D Amorim, and Grigore Roşu Department of Computer Science University of Illinois at Urbana - Champaign, USA
More informationWeaving Rewrite-Based Access Control Policies
Weaving Rewrite-Based Access Control Policies Anderson Santana de Oliveira a, Eric Ke Wang ab, Claude Kirchner a, Hélène Kirchner a INRIA & LORIA The University of Hong Kong FMSE, 2007 Oliveira, Wang,
More informationCOMPOSABILITY, PROVABILITY, REUSABILITY (CPR) FOR SURVIVABILITY
AFRL-IF-RS-TR-2002-61 Final Technical Report April 2002 COMPOSABILITY, PROVABILITY, REUSABILITY (CPR) FOR SURVIVABILITY Kestrel Institute Sponsored by Defense Advanced Research Projects Agency DARPA Order
More informationThe RV System Tutorial
The RV System Tutorial Patrick Meredith and Grigore Rosu joint work with Feng Chen, Dongyun Jin, Dennis Griffith, Michael Ilseman Runtime Verification, Inc. University of Illinois The RV System!"#$%&'(%)!"#*)+,'-(!9&('/+
More informationUnweaving the Impact of Aspect Changes in AspectJ
Unweaving the Impact of Aspect Changes in AspectJ Luca Cavallaro Politecnico di Milano Piazza L. da Vinci, 32 20133 Milano, Italy cavallaro@elet.polimi.it Mattia Monga Università degli Studi di Milano
More informationAspects and Data Refinement
Aspects and Data Refinement Pavel Avgustinov 1, Eric Bodden 2, Elnar Hajiyev 1, Oege de Moor 1, Neil Ongkingco 1, Damien Sereni 1, Ganesh Sittampalam 1, Julian Tibble 1 1 Programming Tools Group, Oxford
More informationOptimized Compilation of Around Advice for Aspect Oriented Programs
Journal of Universal Computer Science, vol. 13, no. 6 (2007), 753-766 submitted: 19/1/07, accepted: 22/3/07, appeared: 28/6/07 J.UCS Optimized Compilation of Around Advice for Aspect Oriented Programs
More informationAspect-Oriented Generation of the API Documentation for AspectJ
Aspect-Oriented Generation of the API Documentation for AspectJ Michihiro Horie Tokyo Institute of Technology 2-12-1 Ohkayama, Meguro-ku, Tokyo 152-8552, Japan www.csg.is.titech.ac.jp/ horie Shigeru Chiba
More informationTowards a model of concurrent AOP
Towards a model of concurrent AOP Rémi Douence, Didier Le Botlan, Jacques Noyé, Mario Südholt To cite this version: Rémi Douence, Didier Le Botlan, Jacques Noyé, Mario Südholt. Towards a model of concurrent
More informationRule-Based Runtime Verification
Rule-Based Runtime Verification Howard Barringer 1, Allen Goldberg 2, Klaus Havelund 2 and Koushik Sen 3 1 University of Manchester, England 2 Kestrel Technology, NASA Ames Research Center, USA 3 University
More informationTS4J: A Fluent Interface for Defining and Computing Typestate Analyses
TS4J: A Fluent Interface for Defining and Computing Typestate Analyses Eric Bodden Secure Software Engineering Group EC SPRIDE Fraunhofer SIT & TU Darmstadt eric.bodden@sit.fraunhofer.de Abstract Typestate
More informationDynamic Instantiation-Checking Components
Dynamic Instantiation-Checking Components Nigamanth Sridhar Electrical and Computer Engineering Cleveland State University 318 Stilwell Hall, 2121 Euclid Ave Cleveland OH 44113 n.sridhar1@csuohio.edu ABSTRACT
More informationAnalysis and Research on the Automated Generation of Unit Test
1+, 1 1, 1 (, 200062) Analysis and Research on the Automated Generation of Unit Test XU Guo-qing 1+, YANG Zong-yuan 1, HUANG Hai-tao 1 1 (Software Engineering Lab, Department of Computer Science, East
More informationA Novel Approach to Unit Testing: The Aspect-Oriented Way
A Novel Approach to Unit Testing: The Aspect-Oriented Way Guoqing Xu and Zongyuan Yang Software Engineering Lab, Department of Computer Science East China Normal University 3663, North Zhongshan Rd., Shanghai
More informationTemporal Aspects as Security Automata
Temporal Aspects as Security Automata Peter Hui CTI, DePaul University Chicago, IL, USA James Riely CTI, DePaul University Chicago, IL, USA Abstract Aspect-oriented programming (AOP) has been touted as
More informationA Temporal Logic Language for Context Awareness in Pointcuts
A Temporal Logic Language for Context Awareness in Pointcuts Charlotte Herzeel, Kris Gybels, Pascal Costanza {charlotte.herzeel, kris.gybels, pascal.costanza}@vub.ac.be Programming Technology Lab Vrije
More informationNu: a dynamic aspect-oriented intermediate language model and virtual machine for flexible runtime adaptation
Computer Science Conference Presentations, Posters and Proceedings Computer Science 2008 Nu: a dynamic aspect-oriented intermediate language model and virtual machine for flexible runtime adaptation Robert
More informationA DSL to declare aspect execution order
A DSL to declare aspect execution order Antoine Marot Université Libre de Bruxelles (ULB) amarot@ulb.ac.be Roel Wuyts IMEC Leuven and KU Leuven wuytsr@imec.be Abstract Composing aspects is known to be
More informationCourse 8 3 December Adrian Iftene
Course 8 3 December 2011 Adrian Iftene adiftene@info.uaic.ro 1 Recapitulation course 7 Runtime Verification Model Checking MOP Runtime Verification Java MOP Examples Tools: MaC, J-LO SOA Definition Service,
More informationLeveraging DTrace for runtime verification
Leveraging DTrace for runtime verification Carl Martin Rosenberg June 7th, 2016 Department of Informatics, University of Oslo Context: Runtime verification Desired properties System Every request gets
More informationEmploying Query Technologies for Crosscutting Concern Comprehension
Employing Query Technologies for Crosscutting Concern Comprehension Marius Marin Accenture The Netherlands Marius.Marin@accenture.com Abstract Common techniques for improving comprehensibility of software
More informationStatic type safety guarantees for the operators of a relational database querying system. Cédric Lavanchy
Static type safety guarantees for the operators of a relational database querying system Cédric Lavanchy June 6, 2008 Contents 1 Previous work 2 2 Goal 3 3 Theory bases 4 3.1 Typing a relation...........................
More informationFrom Multi-Modal Scenarios to Code: Compiling LSCs into AspectJ
From Multi-Modal Scenarios to Code: Compiling LSCs into AspectJ Shahar Maoz shahar.maoz@weizmann.ac.il (preliminary version) The Weizmann Institute of Science, Rehovot, Israel David Harel dharel@weizmann.ac.il
More informationCombining Test Case Generation and Runtime Verification
Combining Test Case Generation and Runtime Verification Cyrille Artho a,1, Howard Barringer b,2, Allen Goldberg c, Klaus Havelund c, Sarfraz Khurshid d,3, Mike Lowry e, Corina Pasareanu c, Grigore Roşu
More informationA Novel Approach for Software Property Validation
A Novel Approach for Software Property Validation Salamah Salamah Department of Computer and Software Engineering, Embry-Riddle Aeronautical University, salamahs@erau.edu. Irbis Gallegos, Omar Ochoa Computer
More informationOn-Demand Materialization of Aspects for Application Development
On-Demand Materialization of Aspects for Application Development Chang Hwan Peter Kim The University of Texas at Austin, USA Austin, TX 78712 chpkim@cs.utexas.edu Krzysztof Czarnecki University of Waterloo,
More informationBugdel: An Aspect-Oriented Debugging System
Bugdel: An Aspect-Oriented Debugging System Yoshiyuki Usui and Shigeru Chiba Dept. of Mathematical and Computing Sciences Tokyo Institute of Technology 2-12-1-W8-50 Ohkayama, Meguro-ku Tokyo 152-8552,
More informationJava-MOP: A Monitoring Oriented Programming Environment for Java
Java-MOP: A Monitoring Oriented Programming Environment for Java Feng Chen and Grigore Roşu Department of Computer Science University of Illinois at Urbana - Champaign, USA {fengchen,grosu@uiuc.edu Abstract.
More informationAspect-Oriented Instrumentation with GCC
Aspect-Oriented Instrumentation with GCC Justin Seyster 1, Ketan Dixit 1, Xiaowan Huang 1, Radu Grosu 1, Klaus Havelund 2, Scott A. Smolka 1, Scott D. Stoller 1, and Erez Zadok 1 1 Department of Computer
More informationA model and a tool for Event-based Aspect-Oriented Programming (EAOP)
A model and a tool for Event-based Aspect-Oriented Programming (EAOP) Rémi Douence and Mario Südholt December 2002 (2nd edition) Abstract Aspect-oriented programming promises support for incremental program
More informationUsing and Extending AspectJ for Separating Concerns in Parallel Java Code
Using and Extending AspectJ for Separating Concerns in Parallel Java Code Bruno Harbulot and John Gurd The University of Manchester POOSC 2005 Glasgow, July 2005 1/26 Presentation Outline Problem and Approach
More informationAn Instrumentation Technique for Online Analysis of Multithreaded Programs
An Instrumentation Technique for Online Analysis of Multithreaded Programs Grigore Roşu and Koushik Sen Department of Computer Science, University of Illinois at Urbana-Champaign, USA Email: {grosu,ksen}@uiuc.edu
More informationChecking and Correcting Behaviors of Java Programs at Runtime with Java-MOP 1
Checking and Correcting Behaviors of Java Programs at Runtime with Java-MOP 1 Feng Chen and Marcelo d Amorim and Grigore Roşu Department of Computer Science University of Illinois at Urbana-Champaign,
More informationMonitoring-Oriented Programming
Monitoring-Oriented Programming Seyed Mohammad Mehdi Ahmadpanah smahmadpanah@aut.ac.ir ceit.aut.ac.ir/~ahmadpanah Supervisor Dr. Mehran S. Fallah Formal Security Lab. CEIT@AUT Mar. 12, 2017 Outline Introduction
More informationJML and Aspects: The Benefits of Instrumenting JML Features with AspectJ
JML and Aspects: The Benefits of Instrumenting JML Features with AspectJ Henrique Rebêlo Sérgio Soares Department of Computing and Systems University of Pernambuco Recife, Pernambuco, Brazil {hemr,sergio@dsc.upe.br
More informationA Lightweight and Extensible AspectJ Implementation
A Lightweight and Extensible AspectJ Implementation Rodolfo Toledo Éric Tanter 1 PLEIAD Lab Computer Science Department University of Chile Santiago, Chile {rtoledo,etanter}@dcc.uchile.cl Abstract. Extending
More informationModel Checking DSL-Generated C Source Code
Model Checking DSL-Generated C Source Code Martin Sulzmann and Axel Zechner Informatik Consulting Systems AG, Germany {martin.sulzmann,axel.zechner}@ics-ag.de Abstract. We report on the application of
More informationA Distributed Dynamic Aspect Machine for Scientific Software Development
A Distributed Dynamic Aspect Machine for Scientific Software Development Chanwit Kaewkasi Centre for Novel Computing School of Computer Science University of Manchester John R. Gurd Centre for Novel Computing
More informationAspect-Oriented Instrumentation with GCC Appears in the Proceedings of the First International Conference on Runtime Verification (RV 2010)
Aspect-Oriented Instrumentation with GCC Appears in the Proceedings of the First International Conference on Runtime Verification (RV 2010) Justin Seyster 1, Ketan Dixit 1, Xiaowan Huang 1, Radu Grosu
More informationImpact Analysis and Visualization Toolkit for Static Crosscutting in AspectJ
Impact Analysis and Visualization Toolkit for Static Crosscutting in AspectJ Dehua Zhang, Ekwa Duala-Ekoko, and Laurie Hendren School of Computer Science, McGill University, Montreal, Quebec, Canada {dehua.zhang@mail,
More informationRelational Aspects as Tracematches
The abc Group Relational Aspects as Tracematches abc Technical Report No. abc-2007-4 Eric Bodden, Reehan Shaikh, Laurie Hendren School of Computer Science McGill University Montréal, Québec, Canada October
More informationEFFICIENT, EXPRESSIVE, AND EFFECTIVE RUNTIME VERIFICATION PATRICK O NEIL MEREDITH DISSERTATION
EFFICIENT, EXPRESSIVE, AND EFFECTIVE RUNTIME VERIFICATION BY PATRICK O NEIL MEREDITH DISSERTATION Submitted in partial fulfillment of the requirements for the degree of Doctor of Philosophy in Computer
More informationJML and Aspects: The Benefits of
JML and Aspects: The Benefits of Instrumenting JML Features with AspectJ Henrique Rebêlo Sérgio Soares Ricardo Lima Paulo Borba Márcio Cornélio Java Modeling Language Formal specification language for
More informationTypestate Checking for Actionscript 3
Typestate Checking for Actionscript 3 Yun-En Liu and Qi Shan December 10, 2010 1 Introduction This project proposes a compile-time check for function calls in a game system written in Actionscript 3, based
More informationWeaving a Debugging Aspect into Domain-Specific Language Grammars
Weaving a Debugging Aspect into Domain-Specific Language Grammars Hui Wu, Jeff Gray, and Suman Roychoudhury Department of Computer and Information Sciences The University of Alabama at Birmingham Birmingham,
More informationQuerypoint Debugging. John J. Barton. Abstract. 1. Introduction. IBM Research Almaden San Jose, CA
Querypoint Debugging Salman Mirghasemi Claude Petitpierre School of Computer and Communication Sciences Ecole Polytechnique Fédérale de Lausanne, Switzerland {salman.mirghasemi,claude.petitpierre}@epfl.ch
More informationA Type System for Functional Traversal-Based Aspects
A Type System for Functional Traversal-Based Aspects Bryan Chadwick and Karl Lieberherr March 2 nd 2009 1 / 30 Outline Introduction Example (Pure) Semantics Example (Full Dispatch) Type System Soundness
More informationRelational Aspects as Tracematches
The abc Group Relational Aspects as Tracematches abc Technical Report No. abc-2007-4 Eric Bodden, Reehan Shaikh and Laurie Hendren School of Computer Science McGill University Montréal, Québec, Canada
More informationOverview of AspectOPTIMA
COMP-667 Software Fault Tolerance Overview of AspectOPTIMA Jörg Kienzle School of Computer Science McGill University, Montreal, QC, Canada With Contributions From: Samuel Gélineau, Ekwa Duala-Ekoko, Güven
More informationA join point for loops in AspectJ
A join point for loops in AspectJ Bruno Harbulot bruno.harbulot@cs.man.ac.uk John R. Gurd jgurd@cs.man.ac.uk Centre for Novel Computing, School of Computer Science, University of Manchester, Oxford Road,
More informationNu: a Dynamic Aspect-Oriented Intermediate Language Model and Virtual Machine for Flexible Runtime Adaptation
Nu: a Dynamic Aspect-Oriented Intermediate Language Model and Virtual Machine for Flexible Runtime Adaptation Robert Dyer Dept. of Computer Science, Iowa State University rdyer@cs.iastate.edu Hridesh Rajan
More informationSQL for Deep Dynamic Analysis?
SQL for Deep Dynamic Analysis? Mohammad R. Azadmanesh Università della Svizzera italiana, Lugano, Switzerland Mohammad.Reza.Azadmanesh@usi.ch Matthias Hauswirth Università della Svizzera italiana, Lugano,
More informationCourse 8 27 November Adrian Iftene
Course 8 27 November 2017 Adrian Iftene adiftene@info.uaic.ro 1 Recapitulation course 7 Runtime Verification Model Checking MOP Runtime Verification Java MOP Examples Tools: MaC, J-LO SOA Definition Service,
More informationModeling the Evolution of Aspect Configurations using Model Transformations
Modeling the Evolution of Aspect Configurations using Model Transformations Uwe Zdun, Mark Strembeck Institute of Information Systems, New Media Lab Vienna University of Economics, Austria {uwe.zdun mark.strembeck}@wu-wien.ac.at
More informationOn the Impact of Aspect-Oriented Programming on Object-Oriented Metrics
On the Impact of Aspect-Oriented Programming on Object-Oriented Metrics Jean-Yves Guyomarc h and Yann-Gaël Guéhéneuc GEODES - Group of Open and Distributed Systems, Experimental Software Engineering Department
More informationRelational Aspects as Tracematches
Relational Aspects as Tracematches Eric Bodden, Reehan Shaikh and Laurie Hendren School of Computer Science McGill University Montréal, Québec, Canada Abstract The relationships between objects in an object-oriented
More informationRetrieving Sequence Diagrams from Aspect-Oriented Systems
Retrieving Sequence Diagrams from Aspect-Oriented Systems CS842: Aspect-Oriented Programming Course Project Steven She (shshe@uwaterloo.ca) Abstract Aspect-oriented programming is built on the concept
More informationA staged static program analysis to improve the performance of runtime monitoring
A staged static program analysis to improve the performance of runtime monitoring Eric Bodden 1, Laurie Hendren 1, Ondřej Lhoták 2 1 McGill University, Montréal, Québec, Canada 2 University of Waterloo,
More informationRuntime Checking for Program Verification Systems
Runtime Checking for Program Verification Systems Karen Zee, Viktor Kuncak, and Martin Rinard MIT CSAIL Tuesday, March 13, 2007 Workshop on Runtime Verification 1 Background Jahob program verification
More informationA C-language binding for PSL
A C-language binding for PSL Ping Hang Cheung, Alessandro Forin Microsoft Research September 2006 Technical Report MSR-TR-2006-131 Microsoft Research Microsoft Corporation One Microsoft Way Redmond, WA
More informationIntroduction to. Bruno Harbulot. ESNW, the University of Manchester.
Introduction to Aspect-Oriented Software Development Bruno Harbulot ESNW, the University of Manchester http://www.cs.man.ac.uk/~harbulob/ ELF Developers' Forum Manchester - October 2005 1/24 Presentation
More informationResearch Interests. Education. Academic Experience. Software engineering, static program analysis, programming language design.
Research Interests Patrick Lam Department of Electrical and Computer Engineering University of Waterloo 200 University Avenue West Waterloo, Ontario N2L 3G1 CANADA Telephone: (519)888-4567 extension 38017
More informationContext-Aware Aspects
Context-Aware Aspects Éric Tanter 1,,KrisGybels 2, Marcus Denker 3, and Alexandre Bergel 4, 1 Center for Web Research/DCC University of Chile, Santiago Chile 2 PROG Lab Vrije Universiteit Brussel Belgium
More informationJava PathFinder JPF 2 Second Generation of Java Model Checker
Java PathFinder JPF 2 Second Generation of Java Model Checker Guenther Brand Mat. Nr. 9430535 27. 06. 2003 Abstract This essay is based on the papers Java PathFinder, Second Generation of Java Model Checker
More informationDetecting Precedence-Related Advice Interference
Detecting Precedence-Related Advice Interference Technical Report TR #0607, University of Passau, Computer Science Department, Passau, Germany, July 2006 Maximilian Stoerzer and Robin Sterr University
More informationWhat is a Trace? A Runtime Verification Perspective
What is a Trace? A Runtime Verification Perspective Giles Reger 1 Klaus Havelund 2 1 University of Manchester, Manchester, UK 2 Jet Propulsion Laboratory, California Inst. of Technology, USA ISoLa 2016
More informationjunit RV Adding Runtime Verification to junit
junit RV Adding Runtime Verification to junit Normann Decker, Martin Leucker, and Daniel Thoma Institute for Software Engineering and Programming Languages Universität zu Lübeck, Germany {decker, leucker,
More informationComprehension of spacecraft telemetry using hierarchical specifications of behavior
Comprehension of spacecraft telemetry using hierarchical specifications of behavior Klaus Havelund and Rajeev Joshi Jet Propulsion Laboratory California Institute of Technology California, USA Abstract.
More informationAJDT: Getting started with Aspect-Oriented Programming in Eclipse
AJDT: Getting started with Aspect-Oriented Programming in Eclipse Matt Chapman IBM Java Technology Hursley, UK AJDT Committer Andy Clement IBM Java Technology Hursley, UK AJDT & AspectJ Committer Mik Kersten
More informationBuilding the abc AspectJ compiler with Polyglot and Soot
The abc Group Building the abc AspectJ compiler with Polyglot and Soot abc Technical Report No. abc-2004-4 Pavel Avgustinov 1, Aske Simon Christensen 2, Laurie Hendren 3, Sascha Kuzins 1, Jennifer Lhoták
More information4/6/2011. Model Checking. Encoding test specifications. Model Checking. Encoding test specifications. Model Checking CS 4271
Mel Checking LTL Property System Mel Mel Checking CS 4271 Mel Checking OR Abhik Roychoudhury http://www.comp.nus.edu.sg/~abhik Yes No, with Counter-example trace 2 Recap: Mel Checking for mel-based testing
More informationSpecifying Pointcuts in AspectJ
Specifying Pointcuts in AspectJ Yi Wang Department of Computer Science Shanghai Jiao Tong University 800 Dongchuan Rd, Shanghai, 200240, China yi_wang@sjtu.edu.cn Jianjun Zhao Department of Computer Science
More informationSMEDL: Combining Synchronous and Asynchronous Monitoring
University of Pennsylvania ScholarlyCommons Departmental Papers (CIS) Department of Computer & Information Science 9-2016 SMEDL: Combining Synchronous and Asynchronous Monitoring Teng Zhang University
More information