• Documents
  • Authors
  • Tables
  • Log in
  • Sign up
  • MetaCart
  • DMCA
  • Donate

CiteSeerX logo

Advanced Search Include Citations
Advanced Search Include Citations

From multi-modal scenarios to code: compiling LSCs into AspectJ. In (2006)

by S Maoz, D Harel
Venue:FSE,
Add To MetaCart

Tools

Sorted by:
Results 1 - 10 of 43
Next 10 →

Assert and negate revisited: Modal semantics for UML sequence diagrams

by David Harel, Shahar Maoz - SOFTW SYST MODEL , 2007
"... ... from necessary behavior. They thus enable the specification of rich multi-modal scenario-based properties, such as mandatory, possible and forbidden scenarios. The sequence diagrams of UML 2.0 enrich those of previous versions of UML by two new operators, assert and negate, for specifying requir ..."
Abstract - Cited by 68 (26 self) - Add to MetaCart
... from necessary behavior. They thus enable the specification of rich multi-modal scenario-based properties, such as mandatory, possible and forbidden scenarios. The sequence diagrams of UML 2.0 enrich those of previous versions of UML by two new operators, assert and negate, for specifying required and forbidden behaviors, which appear to have been inspired by LSC. The UML 2.0 semantics of sequence diagrams, however, being based on pairs of valid and invalid sets of traces, is inadequate, and prevents the new operators from being used effectively. We propose an extension of, and a different semantics for this UML language—Modal Sequence Diagrams (MSD)— based on the universal/existential modal semantics of LSC. In particular, in MSD assert and negate are really modalities, not operators. We define MSD as a UML 2.0 profile, thus paving the way to apply formal verification, synthesis, and scenario-based execution techniques from LSC to the mainstream UML standard.

Parametric Trace Slicing and Monitoring

by Feng Chen , 2008
"... Abstract. Analysis of execution traces plays a fundamental role in many program analysis approaches. Execution traces are frequently para-metric, i.e., they contain events with parameter bindings. Each paramet-ric trace usually consists of many trace slices merged together, each slice corresponding ..."
Abstract - Cited by 29 (7 self) - Add to MetaCart
Abstract. Analysis of execution traces plays a fundamental role in many program analysis approaches. Execution traces are frequently para-metric, i.e., they contain events with parameter bindings. Each paramet-ric trace usually consists of many trace slices merged together, each slice corresponding to a parameter binding. Several techniques have been pro-posed to analyze parametric traces, but they have limitations: some in the specification formalism, others in the type of traces they support; moreover, they share common notions, intuitions, even techniques and algorithms, suggesting that a fundamental understanding of parametric trace analysis is needed. This foundational paper gives the first solution to parametric trace analysis that is unrestricted by the type of paramet-ric properties or traces that can be analyzed. First, a general purpose parametric trace slicing technique is discussed, which takes each event in the parametric trace and distributes it to its corresponding trace slices. This parametric trace slicing technique can be used in combination with any conventional, non-parametric trace analysis, by applying the latter on each trace slice. An online monitoring technique is then presented based on the slicing technique, providing a logic-independent solution to runtime verification of parametric properties. The presented monitoring technique has been implemented and extensively evaluated. The results confirm that the generality of the discussed techniques does not come at a performance expense when compared with existing monitoring systems. 1
(Show Context)

Citation Context

... number of parameter bindings is large. Parametric properties have been receiving growing interest in runtime verification (RV), as shown by the increasing number of RV systems supporting them, e.g., =-=[3, 1, 14, 12, 7, 13, 15, 9, 5, 4]-=-. Most of these techniques tightly couple the handling of parameter bindings with the property checking, yielding monolithic but supposedly efficient monitors. For example, Tracematches [1] extends st...

Dependent advice: A general approach to optimizing history-based aspects (Extended version).

by Eric Bodden , Feng Chen , Grigore Roşu , 2008
"... ABSTRACT Many aspects for runtime monitoring are history-based : they contain pieces of advice that execute conditionally, based on the observed execution history. History-based aspects are notorious for causing high runtime overhead. Compilers can apply powerful optimizations to history-based aspe ..."
Abstract - Cited by 23 (16 self) - Add to MetaCart
ABSTRACT Many aspects for runtime monitoring are history-based : they contain pieces of advice that execute conditionally, based on the observed execution history. History-based aspects are notorious for causing high runtime overhead. Compilers can apply powerful optimizations to history-based aspects using domain knowledge. Unfortunately, current aspect languages like AspectJ impede optimizations, as they provide no means to express this domain knowledge. In this paper we present dependent advice, a novel AspectJ language extension. A dependent advice contains dependency annotations that preserve crucial domain knowledge: a dependent advice needs to execute only when its dependencies are fulfilled. Optimizations can exploit this knowledge: we present a whole-program analysis that removes advicedispatch code from program locations at which an advice's dependencies cannot be fulfilled. Programmers often opt to have history-based aspects generated automatically, from formal specifications from modeldriven development or runtime monitoring. As we show using code-generation tools for two runtime-monitoring approaches, tracematches and JavaMOP, such tools can use knowledge contained in the specification to automatically generate dependency annotations as well. Our extensive evaluation using the DaCapo benchmark suite shows that the use of dependent advice can significantly lower, sometimes even completely eliminate, the runtime overhead caused by history-based aspects, independently of the specification formalism.
(Show Context)

Citation Context

...fore it would be beneficial if tools could generate these annotations automatically. Fortunately, many people do not write historybased aspects by hand either: researchers have proposed several tools =-=[1,11,16,19]-=- that generate history-based AspectJ aspects automatically, from formal specifications from runtime verification or model-driven development. As we show in this paper, these specifications convey enou...

Mining modal scenario-based specifications from execution traces of reactive systems

by David Lo, Shahar Maoz, Siau-cheng Khoo - In ASE , 2007
"... Specification mining is a dynamic analysis process aimed at automatically inferring suggested specifications of a program from its execution traces. We describe a novel method, framework, and tool, for mining inter-object scenario-based specifications in the form of a UML2-compliant variant of Damm ..."
Abstract - Cited by 22 (17 self) - Add to MetaCart
Specification mining is a dynamic analysis process aimed at automatically inferring suggested specifications of a program from its execution traces. We describe a novel method, framework, and tool, for mining inter-object scenario-based specifications in the form of a UML2-compliant variant of Damm and Harel’s Live Sequence Charts (LSC). LSC extends the classical partial order semantics of sequence diagrams with temporal liveness and symbolic class level lifelines, in order to generate compact and expressive specifications. The output of our algorithm is a sound and complete set of statistically significant LSCs (i.e., satisfying given thresholds of support and confidence), mined from an input execution trace. We locate statistically significant LSCs by exploring the search space of possible LSCs and checking for their statistical significance. In addition, we use an effective search space pruning strategy, specifically adapted to LSCs, which enables efficient mining of scenarios of arbitrary size. We demonstrate and evaluate the utility of our work in mining informative specifications using a case study on Jeti, a popular, full featured messaging application.
(Show Context)

Citation Context

...guage in general, together with the additional unique features of LSC, motivate our choice for the target formalism of our miner. Moreover, the choice is supported by previous work on LSC (see, e.g., =-=[16, 18, 22]-=-), which can be practically used to visualize, analyze, manipulate, test, and verify the specifications we mine. Our algorithm mines statistically significant LSCs of arbitrary size from program trace...

Scenario-based and value-based specification mining: better together

by David Lo, Shahar Maoz - Autom. Softw. Eng
"... Specification mining takes execution traces as input and ex-tracts likely program invariants, which can be used for com-prehension, verification, and evolution related tasks. In this work we integrate scenario-based specification mining, which uses data-mining algorithms to suggest ordering constrai ..."
Abstract - Cited by 22 (10 self) - Add to MetaCart
Specification mining takes execution traces as input and ex-tracts likely program invariants, which can be used for com-prehension, verification, and evolution related tasks. In this work we integrate scenario-based specification mining, which uses data-mining algorithms to suggest ordering constraints in the form of live sequence charts, an inter-object, visual, modal, scenario-based specification language, with mining of value-based invariants, which detects likely invariants hold-ing at specific program points. The key to the integration is a technique we call scenario-based slicing, running on top of the mining algorithms to distinguish the scenario-specific invariants from the general ones. The resulting suggested specifications are rich, consisting of modal scenarios anno-tated with scenario-specific value-based invariants, referring to event parameters and participating object properties. An evaluation of our work over a number of case studies shows promising results in extracting expressive specifica-tions from real programs, which could not be extracted pre-viously. The more expressive the mined specifications, the higher their potential to support program comprehension and testing.

Planned and Traversable Play-Out: A Flexible Method for Executing Scenario-Based Programs

by David Harel, Itai Segall - Programs”, 13th Intl. Conf. on Tools and Algorithms for the Construction and Analysis of Systems (TACAS’07 , 2007
"... Abstract. We introduce a novel approach to the smart execution of scenario-based models of reactive systems, such as those resulting from the multi-modal inter-object language of live sequence charts (LSCs). Our approach finds multiple execution paths from a given state of the system, and allows the ..."
Abstract - Cited by 21 (16 self) - Add to MetaCart
Abstract. We introduce a novel approach to the smart execution of scenario-based models of reactive systems, such as those resulting from the multi-modal inter-object language of live sequence charts (LSCs). Our approach finds multiple execution paths from a given state of the system, and allows the user to interactively traverse them. The method is based on translating the problem of finding a superstep of execution into a problem in the AI planning domain, and issuing a known planning algorithm, which we have had to modify and strengthen for our purposes. 1
(Show Context)

Citation Context

... approach, however, was never implemented in the Play-Engine or extended to support more than messages. In another piece of recent work in our group, LSC specifications are compiled into AspectJ code =-=[13]-=-. This code can then be compiled using any AspectJ Java compiler into a stand-alone application. The current compilation implements naïve play-out, yet stronger and more sophisticated play-out mechani...

S2A: A compiler for multi-modal UML sequence diagrams

by David Harel, Asaf Kleinbort, Shahar Maoz - In Proc. Fundamental Approaches to Software Engineering (FASE’07), volume 4422 of LNCS , 2007
"... Abstract. We report on S2A, a compiler that translates Modal UML ..."
Abstract - Cited by 21 (16 self) - Add to MetaCart
Abstract. We report on S2A, a compiler that translates Modal UML
(Show Context)

Citation Context

...de. It thus provides full code generation of reactive behavior from visual inter-object scenario-based specifications. The S2A compiler is based on a compilation scheme presented by Maoz and Harel in =-=[13]-=-. 1 Introduction An important challenge of the inter-object, scenario-based approach to software specification is to find ways to construct executable systems based on it [3]. Many researchers have de...

Behavioral Programming

by David Harel, Assaf Marron, Gera Weiss - Communications of the ACM
"... review articles doi:10.1145/2209249.2209270 A novel paradigm for programming reactive systems centered on naturally specified modular behavior. ..."
Abstract - Cited by 19 (8 self) - Add to MetaCart
review articles doi:10.1145/2209249.2209270 A novel paradigm for programming reactive systems centered on naturally specified modular behavior.
(Show Context)

Citation Context

...ition to the interpreter-like approach of play-out, a compiler for LSC has been developed, which produces executable code by compiling the specification into Java and weaving the results with AspectJ =-=[35]-=-. Figure 4. A universal LSC: Whenever a telephone user presses the sequence of a star, a digit and send (see hexagonal prechart), the chip must retrieve the corresponding number from memory and call i...

Mining Scenario-Based Triggers and Effects

by David Lo, Shahar Maoz - in ASE. IEEE
"... We present and investigate the problem of mining scenario-based triggers and effects from execution traces, in the framework of Damm and Harel’s live sequence charts (LSC); a visual, modal, scenario-based, inter-object language. Given a ‘trigger scenario’, we extract LSCs whose pre-chart is equivale ..."
Abstract - Cited by 19 (10 self) - Add to MetaCart
We present and investigate the problem of mining scenario-based triggers and effects from execution traces, in the framework of Damm and Harel’s live sequence charts (LSC); a visual, modal, scenario-based, inter-object language. Given a ‘trigger scenario’, we extract LSCs whose pre-chart is equivalent to the given trigger; dually, given an ‘effect scenario’, we extract LSCs whose main-chart is equivalent to the given effect. Our algorithms use data mining methods to provide significant sound and complete results modulo user-defined thresholds. Both the input trigger and effect scenarios, and the resulting candidate modal scenarios, are represented and visualized using a UML2compliant variant of LSC. Thus, existing modeling tools can be used both to specify the input for the miner and to exploit its output. Experiments performed with several applications show promising results. 1.
(Show Context)

Citation Context

...time at School of Computing, National University of Singapore. choice of the target formalism of our mining approach. Moreover, the choice is supported by previous work on LSC (see, e.g., [15], [19], =-=[26]-=-), which can be practically used to visualize, analyze, manipulate, test, and verify the specifications we mine. To introduce the problem of triggers and effects mining investigated in this paper cons...

Clara: a Framework for Partially Evaluating Finite-state Runtime Monitors Ahead of Time

by Eric Bodden, Patrick Lam, Laurie Hendren , 2010
"... Researchers have developed a number of runtime verification tools that generate runtime monitors in the form of AspectJ aspects. In this work, we present Clara, a novel framework to statically optimize such monitoring aspects with respect to a given program under test. Clara uses a sequence of incre ..."
Abstract - Cited by 13 (0 self) - Add to MetaCart
Researchers have developed a number of runtime verification tools that generate runtime monitors in the form of AspectJ aspects. In this work, we present Clara, a novel framework to statically optimize such monitoring aspects with respect to a given program under test. Clara uses a sequence of increasingly precise static analyses to automatically convert a monitoring aspect into a residual runtime monitor. The residual monitor only watches events triggered by program locations that the analyses failed to prove safe at compile time. In two-thirds of the cases in our experiments, the static analysis succeeds on all locations, proving that the program fulfills the stated properties, and completely obviating the need for runtime monitoring. In the remaining cases, the residual runtime monitor is usually much more efficient than a full monitor, yet still captures all property violations at runtime.
Powered by: Apache Solr
  • About CiteSeerX
  • Submit and Index Documents
  • Privacy Policy
  • Help
  • Data
  • Source
  • Contact Us

Developed at and hosted by The College of Information Sciences and Technology

© 2007-2019 The Pennsylvania State University