VLDB 2026 Research / reviewers in the wild / expert
Sebastián Uchitel
dblp:21/1391
· DBLP profile ↗
103ranked-venue papers
20as first author
18since 2021 · last 2025
0000-0001-9352-1478ORCID · verified
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 93 · 20 first-author · 15 since 2021Theory of computation · 10 · 1 since 2021Artificial intelligence and machine learning · 4 · 1 since 2021Systems, architecture and hardware · 3 · 2 since 2021Databases, data management, data science and information retrieval · 1 · 1 since 2021
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2025 | Scaling GR(1) Synthesis via a Compositional Frameworkfor LTL Discrete Event ControlabstractAbstract We present a compositional approach to controller synthesis of discrete event system controllers with linear temporal logic (LTL) goals. We exploit the modular structure of the plant to be controlled, given as a set of labelled transition systems (LTS), to mitigate state explosion that monolithic approaches to synthesis are prone to. Maximally permissive safe controllers are iteratively built for subsets of the plant LTSs by solving weaker control problems. Observational synthesis equivalence is used to reduce the size of the controlled subset of the plant by abstracting away local events. The result of synthesis is also compositional, a set of controllers that when run in parallel ensure the LTL goal. We implement synthesis in the MTSA tool for an expressive subset of LTL, GR(1), and show it computes solutions to that can be up to 1000 times larger than those that the monolithic approach can solve. Hernán Gagliardi, Víctor A. Braberman, Sebastián Uchitel |
CAV (4) | 3 |
| 2025 | Unavoidable Boundary Conditions: a Control Perspective on Goal ConflictsabstractBoundary conditions express situations under which requirements specifications conflict. They are used within a broader conflict management process to produce less idealized specifications. Several approaches have been proposed to identify boundary conditions automatically. Some introduce a prioritization criteria to reduce the number of boundary conditions presented to an engineer. However, identifying the few, relevant boundary conditions remains an open challenge. In this paper, we argue that one of the problems of the state of the art is with the definition of boundary condition itselfit is too weak. We propose a stronger definition which we refer to as Unavoidable Boundary Conditions (UBCs), which utilizes the notion of realizability in reactive synthesis. We show experimentally that UBCs non-trivially reduce the number of conditions produced by existing boundary condition identification techniques. We also relate UBCs to existing concepts in reactive synthesis used to provide feedback for unrealizable specifications (including counter-strategies and unrealizable cores). We then show that UBCs provide a targeted form of feedback for repairing unrealizable specifications. Francisco Cirelli, Dalal Alrajeh, Sebastián Uchitel |
ICSE | 3 |
| 2025 | Modal Abstractions for Smart Contract ValidationabstractSmart contracts manage valuable assets, and their immutability hinders bug fixing. Therefore, pre-deployment verification and validation are critical. In fact, auditing has become mandatory in the pipeline of smart contract development. Auditors usually combine manual inspection with automated tools in their auditing work, looking for issues that may be domain dependent (i.e., pertaining to the correct implementation of requirements-which are often informal, partial, and implicit) or independent (e.g., reentrancy, overflow, etc.), To identify domain dependent issues, it is important to understand the non-trivial behavior of the implementation over sequences of calls made by callees playing different roles in the contract. In this paper, we propose a novel approach that combines predicate abstraction with modal transition systems to build abstractions that can help auditors in the smart contract validation process. The required inputs are a set of predicates provided as code and, optionally, constraints over smart contract function parameters. The output is a modal transition system that captures the contract's behavior. We report on a prototype that builds modal abstractions and an evaluation on two established benchmarks where we identified four previously unreported issues. Javier Godoy, Margarita Capretto, Martín Ceresa, Juan P. Galeotti, Diego Garbervetsky, César Sánchez 0001, Sebastián Uchitel |
MODELS | 7 |
| 2025 | Preface for the special issue on "Selected Papers and Tools of the 26th International Conference on Fundamental Approaches to Software Engineering" (FASE 2023)
Carlos Diego Nascimento Damasceno, Marie-Christine Jakobs, Leen Lambers, Sebastián Uchitel |
Sci. Comput. Program. | 4 |
| 2025 | Relevance of Log Mining and Analytics Papers to IEEE Transactions on Software Engineeringabstracteditorial reviewed Massimiliano Di Penta, Domenico Bianculli, Michael R. Lyu, Sebastián Uchitel, Andy Zaidman |
IEEE Trans. Software Eng. | 4 |
| 2025 | 50 Years of Transactions on Software Engineering
Sebastián Uchitel |
IEEE Trans. Software Eng. | 1 |
| 2025 | State of the Journal
Sebastián Uchitel |
IEEE Trans. Software Eng. | 1 |
| 2024 | Distinguished Reviewers 2023abstractLists the reviewers who contributed to this publication in 2023. Sebastián Uchitel |
IEEE Trans. Software Eng. | 1 |
| 2024 | Scoping Software Engineering for AI: The TSE PerspectiveabstractAdvances in Artificial Intelligence (AI), and in particular in Machine Learning (ML), are introducing profound changes to scholarly submissions across publication venues, affecting in particular the contributions that are being submitted to Software Engineering (SE) conferences and journals. In this context, it is not always clear whether manuscripts submitted to SE venues under the umbrella term SE for AI are indeed relevant to SE, in the sense that they explicitly contain contributions to the SE body of knowledge. This leads to recurring discussions on whether certain AI-related submissions are appropriate to SE venues, or should instead be submitted to other journals and conferences, including AI or ML-specific ones. In this editorial, we discuss the kinds of AI-related contributions that are a better fit-and a less good fit-for publication in the IEEE Transactions on Software Engineering. Sebastián Uchitel, Marsha Chechik, Massimiliano Di Penta, Bram Adams, Nazareno Aguirre, Gabriele Bavota, Domenico Bianculli, Kelly Blincoe, Ana Cavalcanti 0001, Yvonne Dittrich, Filomena Ferrucci, Rashina Hoda, LiGuo Huang, David Lo 0001, Michael R. Lyu, Lei Ma 0003, Jonathan I. Maletic, Leonardo Mariani, Collin McMillan, Tim Menzies, Martin Monperrus, Ana Moreno, Nachiappan Nagappan, Liliana Pasquale, Patrizio Pelliccione, Michael Pradel, Rahul Purandare, Sukyoung Ryu, Mehrdad Sabetzadeh, Alexander Serebrenik, Jun Sun 0001, Chakkrit Tantithamthavorn, Christoph Treude, Manuel Wimmer, Yingfei Xiong 0001, Tao Yue 0002, Andy Zaidman, Tao Zhang 0001, Hao Zhong 0001 |
IEEE Trans. Software Eng. | 1 |
| 2023 | Adapting Specifications for Reactive ControllersabstractFor systems to respond to scenarios that were unforeseen at design time, they must be capable of safely adapting, at runtime, the assumptions they make about the environment, the goals they are expected to achieve, and the strategy that guarantees the goals are fulfilled if the assumptions hold. Such adaptation often involves the system degrading its functionality, by weakening its environment assumptions and/or the goals it aims to meet, ideally in a graceful manner. However, finding weaker assumptions that account for the unanticipated behaviour and of goals that are achievable in the new environment in a systematic and safe way remains an open challenge. In this paper, we propose a novel framework that supports assumption and, if necessary, goal degradation to allow systems to cope with runtime assumption violations. The framework, which integrates into the MORPH reference architecture, combines symbolic learning and reactive synthesis to compute implementable controllers that may be deployed safely. We describe and implement an algorithm that illustrates the working of this framework. We further demonstrate in our evaluation its effectiveness and applicability to a series of benchmarks from the literature. The results show that the algorithm successfully learns realizable specifications that accommodate previously violating environment behaviour in almost all cases. Exceptions are discussed in the evaluation. Titus Buckworth, Dalal Alrajeh, Jeff Kramer, Sebastián Uchitel |
SEAMS | 4 |
| 2022 | Assumption Monitoring of Temporal Task Planning Using Stream Runtime Verification
Felipe Gorostiaga, Sebastián Zudaire, César Sánchez 0001, Gerardo Schneider, Sebastián Uchitel |
ISoLA (1) | 5 |
| 2022 | Predicate abstractions for smart contract validationabstractSmart contracts are immutable programs deployed on the blockchain that can manage significant assets. Because of this, verification and validation of smart contracts is of vital importance. Indeed, it is industrial practice to hire independent specialized companies to audit smart contracts before deployment. Auditors typically rely on a combination of tools and experience but still fail to identify problems in smart contracts before deployment, causing significant losses. In this paper, we propose using predicate abstraction to construct models which can be used by auditors to explore and validate smart contact behaviour at the function call level by proposing predicates that expose different aspects of the contract. We propose predicates based on requires clauses and enum-type state variables as a starting point for contract validation and report on an evaluation on two different benchmarks. Javier Godoy, Juan P. Galeotti, Diego Garbervetsky, Sebastián Uchitel |
MoDELS | 4 |
| 2022 | Assured automatic dynamic reconfiguration of business processesabstractIn order to manage evolving organisational practice and maintain compliance with changes in policies and regulations, businesses must be capable of dynamically reconfiguring their business processes. However, such dynamic reconfiguration is a complex, human-intensive and error prone task. Not only must new business process rules be devised but also, crucially, the transition between the old and new rules must be managed. In this paper we present a fully automated technique based on formal specifications and discrete event controller synthesis to produce correct-by-construction reconfiguration strategies. These strategies satisfy user-specified transition requirements, be they domain independent - such as delayed and immediate change - or domain specific. To achieve this, we provide a discrete-event control theoretic approach to operationalise declarative business process specifications, and show how this can be extended to resolve reconfiguration problems. In this way, given the old and the new business process rules described as Dynamic Condition Response Graphs, and given the transition requirements described with linear temporal logic, the technique produces a control strategy that guides the organisation through a business process reconfiguration ensuring that all transition requirements and process rules are satisfied. The technique outputs a reconfiguration DCR whose traces reproduce the controller’s reconfiguration strategy. We illustrate and validate the approach using realistic cases and examples from the BPM Academic Initiative. Leandro Nahabedian, Víctor A. Braberman, Nicolás D'Ippolito, Jeff Kramer, Sebastián Uchitel |
Inf. Syst. | 5 |
| 2022 | Control and Discovery of Environment BehaviourabstractAn important ability of self-adaptive systems is to be able to autonomously understand the environment in which they operate and use this knowledge to control the environment behaviour in such a way that system goals are achieved. How can this be achieved when the environment is unknown? Two phase solutions that require a full discovery of environment behaviour before computing a strategy that can guarantee the goals or report the non-existence of such a strategy (i.e., unrealisability) are impractical as the environment may exhibit adversarial behaviour to avoid full discovery. In this paper we formalise a control and discovery problem for reactive system environments. In our approach a strategy must be produced that will, for every environment, guarantee that unrealisablity will be correctly concluded or system goals will be achieved by controlling the environment behaviour. We present a solution applicable to environments characterisable as labeled transition systems (LTS). We use modal transition systems (MTS) to represent partial knowledge of environment behaviour, and rely on MTS controller synthesis to make exploration decisions. Each decision either contributes more knowledge about the environment's behaviour or contributes to achieving the system goals. We present an implementation restricted to GR(1) goals and show its viability. Maureen Keegan, Víctor A. Braberman, Nicolás D'Ippolito, Nir Piterman, Sebastián Uchitel |
IEEE Trans. Software Eng. | 5 |
| 2021 | Assumption Monitoring Using Runtime Verification for UAV Temporal Task Plan ExecutionsabstractTemporal task planning guarantees a robot will succeed in its task as long as certain explicit and implicit assumptions about the robot’s operating environment, sensors, and capabilities hold. A robot executing a plan can silently fail to fulfill the task if the assumptions are violated at runtime. Monitoring assumption violations at runtime can flag silent failures and also provide mitigation and remediation opportunities. However, this requires means for describing assumptions combining temporal and quantitative data, automatic construction of correct monitors and ensuring a correct interplay between the planning execution and monitors. In this paper we propose combining temporal planning with stream runtime verification, which offers a high-level language to describe monitors together with guarantees on execution time and memory usage. We demonstrate our approach both in real and simulated flights for some typical mission scenarios. Sebastián Zudaire, Felipe Gorostiaga, César Sánchez 0001, Gerardo Schneider, Sebastián Uchitel |
ICRA | 5 |
| 2021 | Adaptation2: Adapting Specification Learners in Assured Adaptive SystemsabstractSpecification learning and controller synthesis are two methods that promise to provide control systems with assured adaptive capabilities at run-time. Specification learning can automatically update specifications in light of violation traces observed within the operational environment. Controller synthesis can then automatically generate implementations that are guaranteed to satisfy these specifications in every environment.Specification learning is implemented using general-purpose AI systems. These systems are highly configurable, and the configuration choice heavily affects the effectiveness. Setting configuration parameters is far from obvious as they bear no clear semantic relation with the adaptation task. State of the art requires configurations to be set by domain experts at design time for each application domain.In this paper, we argue that to create assured control systems that can effectively and efficiently adapt at run-time, the learning systems upon which they are built must also have adaptive learning strategies for determining configurations at runtime. We demonstrate this idea with a proof-of-concept that computes domain-dependent policies using reinforcement learning. Dalal Alrajeh, Patrick Benjamin, Sebastián Uchitel |
ASE | 3 |
| 2021 | Assured Mission Adaptation of UAVsabstractThe design of systems that can change their behaviour to account for scenarios that were not foreseen at design time remains an open challenge. In this article, we propose an approach for adaptation of mobile robot missions that is not constrained to a predefined set of mission evolutions. We implement an adaptive software architecture and show how controller synthesis can be used both to guarantee correct transitioning from the old to the new mission goals with runtime architectural reconfiguration to include new software actuators and sensors if necessary. The architecture brings together architectural concepts that are commonplace in robotics such as temporal planning, discrete, hybrid and continuous control layers together with architectural concepts from adaptive systems such as runtime models and runtime synthesis. We validate the architecture flying several missions taken from the robotic literature for different real and simulated UAVs. Sebastián Zudaire, Leandro Nahabedian, Sebastián Uchitel |
ACM Trans. Auton. Adapt. Syst. | 3 |
| 2021 | Enabledness-based Testing of Object ProtocolsabstractA significant proportion of classes in modern software introduce or use object protocols, prescriptions on the temporal orderings of method calls on objects. This article studies search-based test generation techniques that aim to exploit a particular abstraction of object protocols (enabledness preserving abstractions (EPAs)) to find failures. We define coverage criteria over an extension of EPAs that includes abnormal method termination and define a search-based test case generation technique aimed at achieving high coverage. Results suggest that the proposed case generation technique with a fitness function that aims at combined structural and extended EPA coverage can provide better failure-detection capabilities not only for protocol failures but also for general failures when compared to random testing and search-based test generation for standard structural coverage. Javier Godoy, Juan P. Galeotti, Diego Garbervetsky, Sebastián Uchitel |
ACM Trans. Softw. Eng. Methodol. | 4 |
| 2020 | Iterator-Based Temporal Logic Task PlanningabstractTemporal logic task planning for robotic systems suffers from state explosion when specifications involve large numbers of discrete locations. We provide a novel approach, particularly suited for task specifications with universally quantified locations, that has constant time with respect to the number of locations, enabling synthesis of plans for an arbitrary number of them. We propose a hybrid control framework that uses an iterator to manage the discretised workspace hiding it from a plan enacted by a discrete event controller. A downside of our approach is that it incurs in increased overhead when executing a synthesised plan. We demonstrate that the overhead is reasonable for missions of a fixed-wing Unmanned Aerial Vehicle in simulated and real scenarios for up to 700000 locations. Sebastián Zudaire, Martín Garrett, Sebastián Uchitel |
ICRA | 3 |
| 2020 | Dynamic Update of Discrete Event ControllersabstractDiscrete event controllers are at the heart of many software systems that require continuous operation. Changing these controllers at runtime to cope with changes in its execution environment or system requirements change is a challenging open problem. In this paper we address the problem of dynamic update of controllers in reactive systems. We present a general approach to specifying correctness criteria for dynamic update and a technique for automatically computing a controller that handles the transition from the old to the new specification, assuring that the system will reach a state in which such a transition can correctly occur and in which the underlying system architecture can reconfigure. Our solution uses discrete event controller synthesis to automatically build a controller that guarantees both progress towards update and safe update. Leandro Nahabedian, Víctor A. Braberman, Nicolás D'Ippolito, Shinichi Honiden, Jeff Kramer, Kenji Tei, Sebastián Uchitel |
IEEE Trans. Software Eng. | 7 |
| 2019 | Dynamic Reconfiguration of Business Processes
Leandro Nahabedian, Víctor A. Braberman, Nicolás D'Ippolito, Jeff Kramer, Sebastián Uchitel |
BPM | 5 |
| 2018 | Testing and validating end user programmed calculated fieldsabstractThis paper reports on an approach for systematically generating test data from production databases for end user calculated field program via a novel combination of symbolic execution and database queries. We also discuss the opportunities and challenges that this specific domain poses for symbolic execution and shows how database queries can help complement some of symbolic execution's weaknesses, namely in the treatment of loops and also of path conditions that exceed SMT solver capabilities. Víctor A. Braberman, Diego Garbervetsky, Javier Godoy, Sebastián Uchitel, Guido de Caso, Ignacio Perez, Santiago Pérez |
ESEC/SIGSOFT FSE | 4 |
| 2017 | Model checker execution reportsabstractSoftware model checking constitutes an undecidable problem and, as such, even an ideal tool will in some cases fail to give a conclusive answer. In practice, software model checkers fail often and usually do not provide any information on what was effectively checked. The purpose of this work is to provide a conceptual framing to extend software model checkers in a way that allows users to access information about incomplete checks. We characterize the information that model checkers themselves can provide, in terms of analyzed traces, i.e. sequences of statements, and safe canes, and present the notion of execution reports (ERs), which we also formalize. We instantiate these concepts for a family of techniques based on Abstract Reachability Trees and implement the approach using the software model checker CPAchecker. We evaluate our approach empirically and provide examples to illustrate the ERs produced and the information that can be extracted. Rodrigo Castaño, Víctor A. Braberman, Diego Garbervetsky, Sebastián Uchitel |
ASE | 4 |
| 2017 | Using contexts to extract models from code
Lucio Mauro Duarte, Jeff Kramer, Sebastián Uchitel |
Softw. Syst. Model. | 3 |
| 2017 | Interaction Models and Automated Control under Partial Observable EnvironmentsabstractThe problem of automatically constructing a software component such that when executed in a given environment satisfies a goal, is recurrent in software engineering. Controller synthesis is a field which fits into this vision. In this paper we study controller synthesis for partially observable LTS models. We exploit the link between partially observable control and non-determinism and show that, unlike fully observable LTS or Kripke structure control problems, in this setting the existence of a solution depends on the interaction model between the controller-to-be and its environment. We identify two interaction models, namely Interface Automata and Weak Interface Automata, define appropriate control problems and describe synthesis algorithms for each of them. Daniel Alfredo Ciolek, Víctor A. Braberman, Nicolás D'Ippolito, Nir Piterman, Sebastián Uchitel |
IEEE Trans. Software Eng. | 5 |
| 2016 | Observational Refinement and Merge for Disjunctive MTSs
Shoham Ben-David, Marsha Chechik, Sebastián Uchitel |
ATVA | 3 |
| 2016 | Risk-driven revision of requirements modelsabstractRequirements incompleteness is often the result of unanticipated adverse conditions which prevent the software and its environment from behaving as expected. These conditions represent risks that can cause severe software failures. The identification and resolution of such risks is therefore a crucial step towards requirements completeness. Obstacle analysis is a goal-driven form of risk analysis that aims at detecting missing conditions that can obstruct goals from being satisfied in a given domain, and resolving them. Dalal Alrajeh, Axel van Lamsweerde, Jeff Kramer, Alessandra Russo, Sebastián Uchitel |
ICSE | 5 |
| 2016 | Behaviour abstraction adequacy criteria for API call protocol testingabstractSummary Code artefacts that have non‐trivial requirements with respect to the ordering in which their methods or procedures ought to be called are common and appear, for instance, in the form of API implementations and objects. Testing such code artefacts to gain confidence that they conform to their intendedprotocolsis an important and challenging problem. This paper proposes conformance testing adequacy criteria based on covering an abstraction of the intended behaviour's semantics. Thus, the criteria are independent of the specification language and structure used to describe the intended protocol and the language used to implement it. As a consequence, the results may be of use to black box conformance testing approaches in general. Experimental results show that the criteria are a good predictor for fault detection for protocol conformance and for classical structural coverage criteria such as statement and branch coverage. They also show that the division of the domain derived from the criterion produces subdomains such that most of its inputs are fault revealing. Copyright © 2015 John Wiley & Sons, Ltd. Hernan Czemerinski, Víctor A. Braberman, Sebastián Uchitel |
Softw. Test. Verification Reliab. | 3 |
| 2016 | Less is More: Estimating Probabilistic Rewards over Partial System ExplorationsabstractModel-based reliability estimation of systems can provide useful insights early in the development process. However, computational complexity of estimating metrics such as mean time to first failure (MTTFF), turnaround time (TAT), or other domain-based quantitative measures can be prohibitive both in time, space, and precision. In this article, we present an alternative to exhaustive model exploration, as in probabilistic model checking, and partial random exploration, as in statistical model checking. Our hypothesis is that a (carefully crafted) partial systematic exploration of a system model can provide better bounds for these quantitative model metrics at lower computation cost. We present a novel automated technique for metric estimation that combines simulation, invariant inference, and probabilistic model checking. Simulation produces a probabilistically relevant set of traces from which a state invariant is inferred. The invariant characterises a partial model, which is then exhaustively explored using probabilistic model checking. We report on experiments that suggest that metric estimation using this technique (for both fully probabilistic models and those exhibiting nondeterminism) can be more effective than (full-model) probabilistic and statistical model checking, especially for system models for which the events of interest are rare. Esteban Pavese, Víctor A. Braberman, Sebastián Uchitel |
ACM Trans. Softw. Eng. Methodol. | 3 |
| 2016 | Probabilistic Interface AutomataabstractSystem specifications have long been expressed through automata-based languages, which allow for compositional construction of complex models and enable automated verification techniques such as model checking. Automata-based verification has been extensively used in the analysis of systems, where they are able to provide yes/no answers to queries regarding their temporal properties. Probabilistic modelling and checking aim at enriching this binary, qualitative information with quantitative information, more suitable to approaches such as reliability engineering. Compositional construction of software specifications reduces the specification effort, allowing the engineer to focus on specifying individual component behaviour to then analyse the composite system behaviour. Compositional construction also reduces the validation effort, since the validity of the composite specification should be dependent on the validity of the components. These component models are smaller and thus easier to validate. Compositional construction poses additional challenges in a probabilistic setting. Numerical annotations of probabilistically independent events must be contrasted against estimations or measurements, taking care of not compounding this quantification with exogenous factors, in particular the behaviour of other system components. Thus, the validity of compositionally constructed system specifications requires that the validated probabilistic behaviour of each component continues to be preserved in the composite system. However, existing probabilistic automata-based formalisms do not support specification of non-deterministic and probabilistic component behaviour which, when observed through logics such as pCTL, is preserved in the composite system. In this paper we present a probabilistic extension to Interface Automata which preserves pCTL properties under probabilistic fairness by ensuring a probabilistic branching simulation between component and composite automata. The extension not only supports probabilistic behaviour but also allows for weaker prerequisites to interfacing composition, that supports delayed synchronisation that may be required because of internal component behaviour. These results are equally applicable as an extension to non-probabilistic Interface Automata. Esteban Pavese, Víctor A. Braberman, Sebastián Uchitel |
IEEE Trans. Software Eng. | 3 |
| 2014 | Revisiting Compatibility of Input-Output Modal Transition Systems
Ivo Krka, Nicolás D'Ippolito, Nenad Medvidovic, Sebastián Uchitel |
FM | 4 |
| 2014 | Hope for the best, prepare for the worst: multi-tier control for adaptive systemsabstractMost approaches for adaptive systems rely on models, particularly behaviour or architecture models, which describe the system and the environment in which it operates. One of the difficulties in creating such models is uncertainty about the accuracy and completeness of the models. Engineers therefore make assumptions which may prove to be invalid at runtime. In this paper we introduce a rigorous, tiered framework for combining behaviour models, each with different associated assumptions and risks. These models are used to generate operational strategies, through techniques such controller synthesis, which are then executed concurrently at runtime. We show that our framework can be used to adapt the functional behaviour of the system: through graceful degradation when the assumptions of a higher level model are broken, and through progressive enhancement when those assumptions are satisfied or restored. Nicolás D'Ippolito, Víctor A. Braberman, Jeff Kramer, Jeff Magee, Daniel Sykes, Sebastián Uchitel |
ICSE | 6 |
| 2014 | Automated goal operationalisation based on interpolation and SAT solvingabstractGoal oriented methods have been successfully employed for eliciting and elaborating software requirements. When goals are assigned to an agent, they have to be operationalised: the agent’s operations have to be refined, by equipping them with appropriate enabling and triggering conditions, so that the goals are fulfilled. Goal operationalisation generally demands a significant effort of the engineer. Although there exist approaches that tackle this problem, they are either informal or at most semi automated, requiring the engineer to assist in the process. In this paper, we present an approach for goal operationalisation that automatically computes required preconditions and required triggering conditions for operations, so that the resulting operations establish the goals. The process is iterative, is able to deal with safety goals and particular kinds of liveness goals, and is based on the use of interpolation and SAT solving. Renzo Degiovanni, Dalal Alrajeh, Nazareno Aguirre, Sebastián Uchitel |
ICSE | 4 |
| 2013 | Merging Partial Behaviour Models with Different Vocabularies
Shoham Ben-David, Marsha Chechik, Sebastián Uchitel |
CONCUR | 3 |
| 2013 | Controller synthesis: from modelling to enactmentabstractController synthesis provides an automated means to produce architecture-level behaviour models that are enacted by a composition of lower-level software components, ensuring correct behaviour. Such controllers ensure that goals are satisfied for any model-consistent environment behaviour. This paper presents a tool for developing environment models, synthesising controllers efficiently, and enacting those controllers using a composition of existing third-party components. Video: www.youtube.com/watch?v=RnetgVihpV4. Víctor A. Braberman, Nicolás D'Ippolito, Nir Piterman, Daniel Sykes, Sebastián Uchitel |
ICSE | 5 |
| 2013 | Automated reliability estimation over partial systematic explorationsabstractModel-based reliability estimation of software systems can provide useful insights early in the development process. However, computational complexity of estimating reliability metrics such as mean time to first failure (MTTF) can be prohibitive both in time, space and precision. In this paper we present an alternative to exhaustive model exploration-as in probabilistic model checking-and partial random exploration-as in statistical model checking. Our hypothesis is that a (carefully crafted) partial systematic exploration of a system model can provide better bounds for reliability metrics at lower computation cost. We present a novel automated technique for reliability estimation that combines simulation, invariant inference and probabilistic model checking. Simulation produces a probabilistically relevant set of traces from which a state invariant is inferred. The invariant characterises a partial model which is then exhaustively explored using probabilistic model checking. We report on experiments that suggest that reliability estimation using this technique can be more effective than (full model) probabilistic and statistical model checking for system models with rare failures. Esteban Pavese, Víctor A. Braberman, Sebastián Uchitel |
ICSE | 3 |
| 2013 | Behaviour Abstraction Coverage as Black-Box Adequacy CriteriaabstractCode artefacts that have non-trivial requirements with respect to the ordering in which their methods or procedures ought to be called are common and appear, for instance, in the form of API implementations and objects. Testing such code artefacts to gain confidence in that they conform to their intended protocols is an important and challenging problem. In this paper we propose and study experimentally conformance testing adequacy criteria based on covering an abstraction of the intended behavior's semantics. Thus, the criteria are independent of the specification language and structure used to describe the intended protocol and the language used to implement it. As a consequence the results may be of use to black box conformance testing approaches in general. Experimental results show that the criterion is a good predictor for conformance failure detection and for classical structural coverage criteria such as code and branch coverage. Hernan Czemerinski, Víctor A. Braberman, Sebastián Uchitel |
ICST | 3 |
| 2013 | Enabledness-based program abstractions for behavior validationabstractCode artifacts that have nontrivial requirements with respect to the ordering in which their methods or procedures ought to be called are common and appear, for instance, in the form of API implementations and objects. This work addresses the problem of validating if API implementations provide their intended behavior when descriptions of this behavior are informal, partial, or nonexistent. The proposed approach addresses this problem by generating abstract behavior models which resemble typestates. These models are statically computed and encode all admissible sequences of method calls. The level of abstraction at which such models are constructed has shown to be useful for validating code artifacts and identifying findings which led to the discovery of bugs, adjustment of the requirements expected by the engineer to the requirements implicit in the code, and the improvement of available documentation. Guido de Caso, Víctor A. Braberman, Diego Garbervetsky, Sebastián Uchitel |
ACM Trans. Softw. Eng. Methodol. | 4 |
| 2013 | Synthesizing nonanomalous event-based controllers for liveness goalsabstractWe present SGR(1), a novel synthesis technique and methodological guidelines for automatically constructing event-based behavior models. Our approach works for an expressive subset of liveness properties, distinguishes between controlled and monitored actions, and differentiates system goals from environment assumptions. We show that assumptions must be modeled carefully in order to avoid synthesizing anomalous behavior models. We characterize nonanomalous models and propose assumption compatibility, a sufficient condition, as a methodological guideline. Nicolás D'Ippolito, Víctor A. Braberman, Nir Piterman, Sebastián Uchitel |
ACM Trans. Softw. Eng. Methodol. | 4 |
| 2013 | Reasoning about Triggered Scenarios in Logic Programming
Dalal Alrajeh, Rob Miller 0002, Alessandra Russo, Sebastián Uchitel |
Theory Pract. Log. Program. | 4 |
| 2013 | Elaborating Requirements Using Model Checking and Inductive LearningabstractThe process of Requirements Engineering (RE) includes many activities, from goal elicitation to requirements specification. The aim is to develop an operational requirements specification that is guaranteed to satisfy the goals. In this paper, we propose a formal, systematic approach for generating a set of operational requirements that are complete with respect to given goals. We show how the integration of model checking and inductive learning can be effectively used to do this. The model checking formally verifies the satisfaction of the goals and produces counterexamples when incompleteness in the operational requirements is detected. The inductive learning process then computes operational requirements from the counterexamples and user-provided positive examples. These learned operational requirements are guaranteed to eliminate the counterexamples and be consistent with the goals. This process is performed iteratively until no goal violation is detected. The proposed framework is a rigorous, tool-supported requirements elaboration technique which is formally guided by the engineer's knowledge of the domain and the envisioned system. Dalal Alrajeh, Jeff Kramer, Alessandra Russo, Sebastián Uchitel |
IEEE Trans. Software Eng. | 4 |
| 2013 | Synthesizing Modal Transition Systems from Triggered ScenariosabstractSynthesis of operational behavior models from scenario-based specifications has been extensively studied. The focus has been mainly on either existential or universal interpretations. One noteworthy exception is Live Sequence Charts (LSCs), which provides expressive constructs for conditional universal scenarios and some limited support for nonconditional existential scenarios. In this paper, we propose a scenario-based language that supports both existential and universal interpretations for conditional scenarios. Existing model synthesis techniques use traditional two-valued behavior models, such as Labeled Transition Systems. These are not sufficiently expressive to accommodate specification languages with both existential and universal scenarios. We therefore shift the target of synthesis to Modal Transition Systems (MTS), an extension of labeled Transition Systems that can distinguish between required, unknown, and proscribed behavior to capture the semantics of existential and universal scenarios. Modal Transition Systems support elaboration of behavior models through refinement, which complements an incremental elicitation process suitable for specifying behavior with scenario-based notations. The synthesis algorithm that we define constructs a Modal Transition System that uses refinement to characterize all the Labeled Transition Systems models that satisfy a mixed, conditional existential and universal scenario-based specification. We show how this combination of scenario language, synthesis, and Modal Transition Systems supports behavior model elaboration. German E. Sibay, Víctor A. Braberman, Sebastián Uchitel, Jeff Kramer |
IEEE Trans. Software Eng. | 3 |
| 2012 | Learning from Vacuously Satisfiable Scenario-Based Specifications
Dalal Alrajeh, Jeff Kramer, Alessandra Russo, Sebastián Uchitel |
FASE | 4 |
| 2012 | The Modal Transition System Control Problem
Nicolás D'Ippolito, Víctor A. Braberman, Nir Piterman, Sebastián Uchitel |
FM | 4 |
| 2012 | Distribution of Modal Transition Systems
German E. Sibay, Sebastián Uchitel, Víctor A. Braberman, Jeff Kramer |
FM | 2 |
| 2012 | Generating obstacle conditions for requirements completenessabstractMissing requirements are known to be among the major causes of software failure. They often result from a natural inclination to conceive over-ideal systems where the software-to-be and its environment always behave as expected. Obstacle analysis is a goal-anchored form of risk analysis whereby exceptional conditions that may obstruct system goals are identified, assessed and resolved to produce complete requirements. Various techniques have been proposed for identifying obstacle conditions systematically. Among these, the formal ones have limited applicability or are costly to automate. This paper describes a tool-supported technique for generating a set of obstacle conditions guaranteed to be complete and consistent with respect to the known domain properties. The approach relies on a novel combination of model checking and learning technologies. Obstacles are iteratively learned from counterexample and witness traces produced by model checking against a goal and converted into positive and negative examples, respectively. A comparative evaluation is provided with respect to published results on the manual derivation of obstacles in a real safety-critical system for which failures have been reported. Dalal Alrajeh, Jeff Kramer, Axel van Lamsweerde, Alessandra Russo, Sebastián Uchitel |
ICSE | 5 |
| 2012 | Weak Alphabet Merging of Partial Behavior ModelsabstractConstructing comprehensive operational models of intended system behavior is a complex and costly task, which can be mitigated by the construction of partial behavior models, providing early feedback and subsequently elaborating them iteratively. However, how should partial behavior models with different viewpoints covering different aspects of behavior be composed? How should partial models of component instances of the same type be put together? In this article, we propose model merging of modal transition systems (MTSs) as a solution to these questions. MTS models are a natural extension of labelled transition systems that support explicit modeling of what is currently unknown about system behavior. We formally define model merging based on weak alphabet refinement, which guarantees property preservation, and show that merging consistent models is a process that should result in a minimal common weak alphabet refinement (MCR). In this article, we provide theoretical results and algorithms that support such a process. Finally, because in practice MTS merging is likely to be combined with other operations over MTSs such as parallel composition, we also study the algebraic properties of merging and apply these, together with the algorithms that support MTS merging, in a case study. Dario Fischbein, Nicolás D'Ippolito, Greg Brunet, Marsha Chechik, Sebastián Uchitel |
ACM Trans. Softw. Eng. Methodol. | 5 |
| 2012 | Automated Abstractions for Contract ValidationabstractPre/postcondition-based specifications are commonplace in a variety of software engineering activities that range from requirements through to design and implementation. The fragmented nature of these specifications can hinder validation as it is difficult to understand if the specifications for the various operations fit together well. In this paper, we propose a novel technique for automatically constructing abstractions in the form of behavior models from pre/postcondition-based specifications. Abstraction techniques have been used successfully for addressing the complexity of formal artifacts in software engineering; however, the focus has been, up to now, on abstractions for verification. Our aim is abstraction for validation and hence, different and novel trade-offs between precision and tractability are required. More specifically, in this paper, we define and study enabledness-preserving abstractions, that is, models in which concrete states are grouped according to the set of operations that they enable. The abstraction results in a finite model that is intuitive to validate and which facilitates tracing back to the specification for debugging. The paper also reports on the application of the approach to two industrial strength protocol specifications in which concerns were identified. Guido de Caso, Víctor A. Braberman, Diego Garbervetsky, Sebastián Uchitel |
IEEE Trans. Software Eng. | 4 |
| 2011 | Program abstractions for behaviour validationabstractCode artefacts that have non-trivial requirements with respect to the ordering in which their methods or procedures ought to be called are common and appear, for instance, in the form of API implementations and objects. This work addresses the problem of validating if API implementations provide their intended behaviour when descriptions of this behaviour are informal, partial or non-existent. The proposed approach addresses this problem by generating abstract behaviour models which resemble typestates. These models are statically computed and encode all admissible sequences of method calls. The level of abstraction at which such models are constructed has shown to be useful for validating code artefacts and identifying findings which led to the discovery of bugs, adjustment of the requirements expected by the engineer to the requirements implicit in the code, and the improvement of available documentation. Guido de Caso, Víctor A. Braberman, Diego Garbervetsky, Sebastián Uchitel |
ICSE | 4 |
| 2011 | Synthesis of live behaviour models for fallible domainsabstractWe revisit synthesis of live controllers for event-based operational models. We remove one aspect of an idealised problem domain by allowing to integrate failures of controller actions in the environment model. Classical treatment of failures through strong fairness leads to a very high computational complexity and may be insufficient for many interesting cases. We identify a realistic stronger fairness condition on the behaviour of failures. We show how to construct controllers satisfying liveness specifications under these fairness conditions. The resulting controllers exhibit the only possible behaviour in face of the given topology of failures: they keep retrying and never give up. We then identify some well-structure conditions on the environment. These conditions ensure that the resulting controller will be eager to satisfy its goals. Furthermore, for environments that satisfy these conditions and have an underlying probabilistic behaviour, the measure of traces that satisfy our fairness condition is 1, giving a characterisation of the kind of domains in which the approach is applicable. Nicolás D'Ippolito, Víctor A. Braberman, Nir Piterman, Sebastián Uchitel |
ICSE | 4 |
| 2011 | Integrating Model Checking and Inductive Logic Programming
Dalal Alrajeh, Alessandra Russo, Sebastián Uchitel, Jeff Kramer |
ILP | 3 |
| 2011 | CSSL: a logic for specifying conditional scenariosabstractScenarios and use cases are popular means of describing the intended system behaviour. They support a variety of features and, notably, allow for two different interpretations: existential and universal. These modalities allow a progressive shift from examples to general rules about the expected system behaviour. The combination of modalities in a scenario-based specification poses technical challenges when automated reasoning is to be provided. In particular, the use of conditional existential scenarios, of which use cases with preconditions are a common example, require reasoning in branching time. Yet, formally grounded approaches to requirements engineering and industrial verification approaches shy away from branching-time logics due to their relatively unintuitive semantics. Shoham Ben-David, Marsha Chechik, Arie Gurfinkel, Sebastián Uchitel |
SIGSOFT FSE | 4 |
| 2011 | Exploring inconsistencies between modal transition systems
Mathieu Sassolas, Marsha Chechik, Sebastián Uchitel |
Softw. Syst. Model. | 3 |
| 2010 | Synthesis of live behaviour modelsabstractWe present a novel technique for synthesising behaviour models that works for an expressive subset of liveness properties and conforms to the foundational requirements engineering World/Machine model, dealing explicitly with assumptions on environment behaviour and distinguishing controlled and monitored actions. This is the first technique that conforms to what is considered best practice in requirements specifications: distinguishing prescriptive and descriptive assertions. Most previous attempts at using synthesis of behavioural models were restricted to handling only safety properties. Those that did support liveness were inadequate for synthesis of operational event based models as they did not include the bespoke distinction between system goals and environment assumptions. Nicolás D'Ippolito, Víctor A. Braberman, Nir Piterman, Sebastián Uchitel |
SIGSOFT FSE | 4 |
| 2010 | Deriving non-Zeno behaviour models from goal models using ILPabstractAbstract One of the difficulties in goal-oriented requirements engineering (GORE) is the construction of behaviour models from declarative goal specifications. This paper addresses this problem using a combination of model checking and machine learning. First, a goal model is transformed into a (potentially Zeno) behaviour model. Then, via an iterative process, Zeno traces are identified by model checking the behaviour model against a time progress property, and inductive logic programming (ILP) is used to learn operational requirements ( pre-conditions ) that eliminate these traces. The process terminates giving a non-Zeno behaviour model produced from the learned pre-conditions and the given goal model. Dalal Alrajeh, Jeff Kramer, Alessandra Russo, Sebastián Uchitel |
Formal Aspects Comput. | 4 |
| 2010 | An Integrated Workbench for Model-Based Engineering of Service CompositionsabstractThe Service-Oriented Architecture (SOA) approach to building systems of application and middleware components promotes the use of reusable services with a core focus of service interactions, obligations, and context. Although services technically relieve the difficulties of specific technology dependency, the difficulties in building reusable components is still prominent and a challenge to service engineers. Engineering the behavior of these services means ensuring that the interactions and obligations are correct and consistent with policies set out to guide partners in building the correct sequences of interactions to support the functions of one or more services. Hence, checking the suitability of service behavior is complex, particularly when dealing with a composition of services and concurrent interactions. How can we rigorously check implementations of service compositions? What are the semantics of service compositions? How does deployment configuration affect service composition behavior safety? To facilitate service engineers designing and implementing suitable and safe service compositions, we present in this paper an approach to consider different viewpoints of service composition behavior analysis. The contribution of the paper is threefold. First, we model service orchestration, choreography behavior, and service orchestration deployment through formal semantics applied to service behavior and configuration descriptions. Second, we define types of analysis and properties of interest for checking service models of orchestrations, choreography, and deployment. Third, we describe mechanical support by providing a comprehensive integrated workbench for the verification and validation of service compositions. Howard Foster, Sebastián Uchitel, Jeff Magee, Jeff Kramer |
IEEE Trans. Serv. Comput. | 2 |
| 2009 | Learning operational requirements from goal modelsabstractGoal-oriented methods have increasingly been recognised as an effective means for eliciting, elaborating, analysing and specifying software requirements. A key activity in these approaches is the elaboration of a correct and complete set of opertional requirements, in the form of pre- and trigger-conditions, that guarantee the system goals. Few existing approaches provide support for this crucial task and mainly rely on significant effort and expertise of the engineer. In this paper we propose a tool-based framework that combines model checking, inductive learning and scenarios for elaborating operational requirements from goal models. This is an iterative process that requires the engineer to identify positive and negative scenarios from counterexamples to the goals, generated using model checking, and to select operational requirements from suggestions computed by inductive learning. Dalal Alrajeh, Jeff Kramer, Alessandra Russo, Sebastián Uchitel |
ICSE | 4 |
| 2009 | Validation of contracts using enabledness preserving finite state abstractionsabstractPre/post condition-based specifications are common-place in a variety of software engineering activities that range from requirements through to design and implementation. The fragmented nature of these specifications can hinder validation as it is difficult to understand if the specifications for the various operations fit together well. In this paper we propose a novel technique for automatically constructing abstractions in the form of behaviour models from pre/post condition-based specifications. The level of abstraction at which such models are constructed preserves enabledness of sets of operations, resulting in a finite model that is intuitive to validate and which facilitates tracing back to the specification for debugging. The paper also reports on the application of the approach to an industrial strength protocol specification in which concerns were identified. Guido de Caso, Víctor A. Braberman, Diego Garbervetsky, Sebastián Uchitel |
ICSE | 4 |
| 2009 | A Sound Observational Semantics for Modal Transition Systems
Dario Fischbein, Víctor A. Braberman, Sebastián Uchitel |
ICTAC | 3 |
| 2009 | Towards accurate probabilistic models using state refinementabstractProbabilistic models are useful in the analysis of system behaviour and non-functional properties. Reliable estimates and measurements of probabilities are needed to annotate behaviour models in order to generate accurate predictions. However, this may not be sufficient, and may still lead to inaccurate results when the system model does not properly reflect the probabilistic choices made by the environment. Thus, not only should the probabilities be accurate in properly reflecting reality, but also the model that is being used. In this paper we identify and illustrate this problem showing that it can lead to inaccuracies and both false positive and false negative property checks. We propose state refinement as a technique to mitigate this problem, and present a framework for iteratively improving the accuracy of a probabilistically annotated behaviour model. Paulo Henrique M. Maia, Jeff Kramer, Sebastián Uchitel, Nabor das Chagas Mendonça |
ESEC/SIGSOFT FSE | 3 |
| 2009 | Probabilistic environments in the quantitative analysis of (non-probabilistic) behaviour modelsabstractSystem specifications have long been expressed through automata-based languages, enabling verification techniques such as model checking. These verification techniques can assess whether a property holds or not, given a system specification. Quantitative model checking can provide additional information on the probability of these properties holding. We are interested in quantitatively analysing the probability of errors in non-probabilistic system models by composing them with probabilistic models of the environment. Although many probabilistic automata-based formalisms and composition operators exist, these are not adequate for such a setting. In this work we present a formalism inspired on interface automata and a suitable composition operator for these automata that enables validation of environment models in isolation and sound analysis of its composition with the non-probabilistic model of the system-under-analysis. Esteban Pavese, Víctor A. Braberman, Sebastián Uchitel |
ESEC/SIGSOFT FSE | 3 |
| 2009 | Guest editorial
Vittorio Cortellessa, Sebastián Uchitel, Daniel Yankelevich |
J. Syst. Softw. | 2 |
| 2009 | Synthesis of Partial Behavior Models from Properties and ScenariosabstractSynthesis of behavior models from software development artifacts such as scenario-based descriptions or requirements specifications helps reduce the effort of model construction. However, the models favored by existing synthesis approaches are not sufficiently expressive to describe both universal constraints provided by requirements and existential statements provided by scenarios. In this paper, we propose a novel synthesis technique that constructs behavior models in the form of modal transition systems (MTS) from a combination of safety properties and scenarios. MTSs distinguish required, possible, and proscribed behavior, and their elaboration not only guarantees the preservation of the properties and scenarios used for synthesis but also supports further elicitation of new requirements. Sebastián Uchitel, Greg Brunet, Marsha Chechik |
IEEE Trans. Software Eng. | 1 |
| 2008 | Deriving Non-zeno Behavior Models from Goal Models Using ILP
Dalal Alrajeh, Alessandra Russo, Sebastián Uchitel |
FASE | 3 |
| 2008 | Towards Faithful Model Extraction Based on Contexts
Lucio Mauro Duarte, Jeff Kramer, Sebastián Uchitel |
FASE | 3 |
| 2008 | Existential live sequence charts revisitedabstractScenario-based specifications are a popular means for describing intended system behaviour. We aim to facilitate early analysis of system behaviour and the development of behaviour models in conjunction with scenarios. In this paper we define a novel scenario-based specification language with an existential semantics and that supports conditional specification of behaviour in the form of prechart and main chart. The language semantics is consistent with existing informal scenario-based and use-case based approaches to requirements engineering. The language provides a good fit with universal live sequence charts as standard existential live sequence charts do not adequately support conditional scenarios. In addition, we define a novel synthesis algorithm that, rather than building arbitrarily one of the many behaviour models that satisfy a scenario, constructs a Modal Transition System (MTS) which characterizes all behaviour models that conform to the scenario. German E. Sibay, Sebastián Uchitel, Víctor A. Braberman |
ICSE | 2 |
| 2008 | A Model-Driven Approach to Dynamic and Adaptive Service Brokering Using Modes
Howard Foster, Arun Mukhija, David S. Rosenblum, Sebastián Uchitel |
ICSOC | 4 |
| 2008 | MTSA: The Modal Transition System AnalyserabstractModal transition systems (MTS) are operational models that distinguish between required and proscribed behaviour of the system to be and behaviour which it is not yet known whether the system should exhibit. MTS, in contrast with traditional behaviour models, support reasoning about the intended system behaviour in the presence of incomplete knowledge. In this paper, we present MTSA a tool that supports the construction, analysis and elaboration of Modal Transition Systems (MTS). Nicolás D'Ippolito, Dario Fischbein, Marsha Chechik, Sebastián Uchitel |
ASE | 4 |
| 2008 | On correct and complete strong merging of partial behaviour modelsabstractModal Transition Systems (MTS) have been shown to be useful to reason about system behaviour in the context of partial information and to support incremental elaboration of behaviour models. A particularly useful notion in the context of software and requirements engineering is that of merge. MTS merging can be used as the conjunction of multiple partial operational descriptions which may have been provided as MTS or even synthesised from other description languages such as goal models and scenarios. One of the current limitations of MTS merging is that a complete and correct algorithm for merging has not been developed. Hence, an engineer attempting to merge partial descriptions may be prevented to do so by overconstrained algorithms or algorithms that introduce behaviour that does not follow from the partial descriptions being merged. This paper resolves these problems for strong semantics by providing a complete characterization of MTS consistency and a correct and complete algorithm for MTS merging. Dario Fischbein, Sebastián Uchitel |
SIGSOFT FSE | 2 |
| 2008 | Towards compositional synthesis of evolving systemsabstractSynthesis of system configurations from a given set of features is an important and very challenging problem. This paper makes a step towards this goal by describing an efficient technique for synthesizing pipeline configurations of feature-based systems. We identify and formalize a design pattern that is commonly used in featurebased development. We show that this pattern enables compositional synthesis of feature arrangements. In particular, the pattern allows us to add or remove features from an existing system without having to reconfigure the system from scratch. We describe an implementation of our technique and evaluate its applicability and effectiveness using a set of telecommunication features from AT&T, arranged within the DFC architecture. Shiva Nejati 0001, Mehrdad Sabetzadeh, Marsha Chechik, Sebastián Uchitel, Pamela Zave |
SIGSOFT FSE | 4 |
| 2008 | Deriving event-based transition systems from goal-oriented requirements models
Emmanuel Letier, Jeff Kramer, Jeff Magee, Sebastián Uchitel |
Autom. Softw. Eng. | 4 |
| 2008 | Guest Editors' Introduction
Sebastián Uchitel, Steve M. Easterbrook |
Autom. Softw. Eng. | 1 |
| 2007 | Behaviour Model Synthesis from Properties and ScenariosabstractSynthesis of behaviour models from software development artifacts such as scenario-based descriptions or requirements specifications not only helps significantly reduce the effort of model construction, but also provides a bridge between approaches geared toward requirements analysis and those geared towards reasoning about system design at the architectural level. However, the models favoured by existing synthesis approaches are not sufficiently expressive to describe both universal constraints provided by requirements and existential statements provided by scenarios. In this paper, we propose a novel synthesis technique that constructs behaviour models in the form of modal transition systems (MTS) from a combination of safety properties and scenarios. MTSs distinguish required, possible and proscribed behaviour, and their elaboration not only guarantees the preservation of the properties and scenarios used for synthesis but also supports further elicitation of new requirements. Sebastián Uchitel, Greg Brunet, Marsha Chechik |
ICSE | 1 |
| 2007 | Model checking service compositions under resource constraintsabstractWhen enacting a web service orchestration defined using the Business Process Execution Language (BPEL) we observed various safety property violations. This surprised us considerably as we had previously established that the orchestration was free of such property violations using existing BPEL model checking techniques. In this paper, we describe the origins of these violations. They result from a combination of design and deployment decisions, which include the distribution of services across hosts, the choice of synchronisation primitives in the process and the threading configuration of the servlet container that hosts the orchestrated web services. This leads us to conclude that model checking approaches that ignore resource constraints of the deployment environment are insufficient to establish safety and liveness properties of service orchestrations specifically, and distributed systems more generally. We show how model checking can take execution resource constraints into account. We evaluate the approach by applying it to the above application and are able to demonstrate that a change in allocation of services to hosts is indeed safe, a result that we are able to confirm experimentally in the deployed system. The approach is supported by a tool suite, known as WS-Engineer, providing automated process translation, architecture and model-checking views. Howard Foster, Wolfgang Emmerich, Jeff Kramer, Jeff Magee, David S. Rosenblum, Sebastián Uchitel |
ESEC/SIGSOFT FSE | 6 |
| 2006 | Properties of Behavioural Model Merging
Greg Brunet, Marsha Chechik, Sebastián Uchitel |
FM | 3 |
| 2006 | LTSA-WS: a tool for model-based verification of web service compositions and choreographyabstractIn this paper we describe a tool for a model-based approach to verifying compositions of web service implementations. The tool supports verification of properties created from design specifications and implementation models to confirm expected results from the viewpoints of both the designer and implementer. Scenarios are modeled in UML, in the form of Message Sequence Charts (MSCs), and then compiled into the Finite State Process (FSP) process algebra to concisely model the required behavior. BPEL4WS implementations are mechanically translated to FSP to allow an equivalence trace verification process to be performed. By providing early design verification and validation, the implementation, testing and deployment of web service compositions can be eased through the understanding of the behavior exhibited by the composition. The approach is implemented as a plug-in for the Eclipse development environment providing cooperating tools for specification, formal modeling, verification and validation of the composition process. Howard Foster, Sebastián Uchitel, Jeff Magee, Jeff Kramer |
ICSE | 2 |
| 2006 | Extracting Requirements from Scenarios with ILP
Dalal Alrajeh, Oliver Ray, Alessandra Russo, Sebastián Uchitel |
ILP | 4 |
| 2006 | Model Extraction Using Context Information
Lucio Mauro Duarte, Jeff Kramer, Sebastián Uchitel |
MoDELS | 3 |
| 2006 | Goal and scenario validation: a fluent combination
Sebastián Uchitel, Robert Chatley, Jeff Kramer, Jeff Magee |
Requir. Eng. | 1 |
| 2005 | Using Scenarios to Predict the Reliability of Concurrent Component-Based Software Systems
Genaína Nunes Rodrigues, David S. Rosenblum, Sebastián Uchitel |
FASE | 3 |
| 2005 | Fluent-based web animation: exploring goals for requirements validationabstractWe present a tool that provides effective graphical animations as a means of validating both goals and software designs. Goals are objectives that a system is expected to meet. They are decomposed until they can be represented as fluents. Animations are specified in terms of fluents and driven by behaviour models. Robert Chatley, Sebastián Uchitel, Jeff Kramer, Jeff Magee |
ICSE | 2 |
| 2005 | Monitoring and control in scenario-based requirements analysisabstractScenarios are an effective means for eliciting, validating and documenting requirements. At the requirements level, scenarios describe sequences of interactions between the software-to-be and agents in the environment. Interactions correspond to the occurrence of an event that is controlled by one agent and monitored by another.This paper presents a technique to analyse requirements-level scenarios for unforeseen, potentially harmful, consequences. Our aim is to perform analysis early in system development, where it is highly cost-effective. The approach recognises the importance of monitoring and control issues and extends existing work on implied scenarios accordingly. These so-called input-output implied scenarios expose problematic behaviours in scenario descriptions that cannot be detected using standard implied scenarios. Validation of these implied scenarios supports requirements elaboration. We demonstrate the relevance of input-output implied scenarios using a number of examples. Emmanuel Letier, Jeff Kramer, Jeff Magee, Sebastián Uchitel |
ICSE | 4 |
| 2005 | Tool Support for Model-Based Engineering of Web Service CompositionsabstractIn this paper we describe tool support for a model-based approach to verifying compositions of Web service implementations. The tool supports verification of properties created from design specifications and implementation models to confirm expected results from the viewpoints of both the designer and implementer. Scenarios are modeled in UML, in the form of message sequence charts (MSCs), and then compiled into the finite state process (FSP) algebra to concisely model the required behavior. BPEL4WS implementations are mechanically translated to FSP to allow an equivalence trace verification process to be performed. By providing early design verification and validation, the implementation, testing and deployment of Web service compositions can be eased through the understanding of the behavior exhibited by the composition. The tool is implemented as a plug-in for the Eclipse development environment providing cooperating tools for specification, formal modeling and trace animation of the composition process. Howard Foster, Sebastián Uchitel, Jeff Magee, Jeff Kramer |
ICWS | 2 |
| 2005 | Introduction to doctoral symposium
Steve M. Easterbrook, Sebastián Uchitel |
ASE | 2 |
| 2005 | Fluent temporal logic for discrete-time event-based modelsabstractFluent model checking is an automated technique for verifying that an event-based operational model satisfies some state-based declarative properties. The link between the event-based and state-based formalisms is defined through "fluents" which are state predicates whose value are determined by the occurrences of initiating and terminating events that make the fluents values become true or false, respectively.The existing fluent temporal logic is convenient for reasoning about untimed event-based models but difficult to use for timed models. The paper extends fluent temporal logic with temporal operators for modelling timed properties of discrete-time event-based models. It presents two approaches that differ on whether the properties model the system state after the occurrence of each event or at a fixed time rate. Model checking of timed properties is made possible by translating them into the existing untimed framework. Emmanuel Letier, Jeff Kramer, Jeff Magee, Sebastián Uchitel |
ESEC/SIGSOFT FSE | 4 |
| 2005 | Guest Editorial: Special Section on Interaction and State-Based ModelingabstractEHAVIOR models play a key role in the engineering of software-basedsystems.Theyarethebasisforsystematic approaches to requirements elicitation, specification, architecture design, simulation, code generation, and verification and validation. A range of notations, techniques, and tools supporting behavior modeling for these development tasks have been suggested. Underlying these notations, techniques, and tools, two complementary approaches to modeling behavior can be identified: interaction-based and state-based modeling. Interaction-based modeling focuses on the interactions between actors and components in a system. Consequently, communication between such entities is viewed as the principal modeling construct. Interaction modeling, commonly realized using scenario and use case techniques, provides an overall view of a system which is particularly suited for supporting communication between project Sebastián Uchitel, Manfred Broy, Ingolf Krüger, Jon Whittle 0001 |
IEEE Trans. Software Eng. | 1 |
| 2004 | Predictable Dynamic Plugin Systems
Robert Chatley, Susan Eisenbach, Jeff Kramer, Jeff Magee, Sebastián Uchitel |
FASE | 5 |
| 2004 | Compatibility Verification for Web Service ChoreographyabstractIn this paper we discuss a model-based approach to verifying process interactions for coordinated Web service compositions. The approach uses finite state machine representations of Web service orchestrations and assigns semantics to the distributed process interactions. The move towards implementing Web service compositions by multiple interested parties as a form of distributed system architecture motivates the need for supporting compatibility verification of activities and transactions in all the processes. The described approach is supported by a suite of cooperating tools for specification, formal modeling and providing verification results from orchestrated Web service interactions. Howard Foster, Sebastián Uchitel, Jeff Magee, Jeff Kramer |
ICWS | 2 |
| 2004 | Fluent-Based Animation: Exploiting the Relation between Goals and Scenarios for Requirements Validation
Sebastián Uchitel, Robert Chatley, Jeff Kramer, Jeff Magee |
RE | 1 |
| 2004 | Merging partial behavioural modelsabstractConstructing comprehensive operational models of intended system behaviour is a complex and costly task. Consequently, practitioners have adopted techniques that support incremental elaboration of partial behaviour descriptions. A noteworthy example is the wide adoption of scenario-based notations such as message sequence charts. Scenario-based specifications are partial descriptions that can be incrementally elaborated to cover the system behaviour that is of interest. However, how should partial behavioural models described by different stakeholders with different viewpoints covering different aspects of behaviour be composed? How should partial models of component instances of the same type be put together. Sebastián Uchitel, Marsha Chechik |
SIGSOFT FSE | 1 |
| 2004 | System architecture: the context for scenario-based model synthesisabstractConstructing rigorous models for analysing the behaviour of concurrent and distributed systems is a complex task. Our aim is to facilitate model construction. Scenarios provide simple, intuitive, example based descriptions of the behaviour of component instances in the context of a simplified architecture instance. The specific architecture instance is generally chosen to provide sufficient context to indicate the expected behaviour of particular instances of component types to be used in the real system. Existing synthesis techniques provide mechanisms for building behaviour models for these simplified and specific architectural settings. However, the behaviour models required are those for the full generality of the system architecture, and not the simplified architecture used for scenarios. In this paper we exploit architectural information in the context of behaviour model synthesis from scenarios. Software architecture descriptions give the necessary contextual information so that component instance behaviour can be generalised to component type behaviour. Furthermore, architecture description languages can be used to describe the complex architectures in which the generalised behaviours need to be instantiated. Thus, architectural information used in conjunction with scenario-based model synthesis can support both model construction and elaboration, where the behaviour derived from simple architecture fragments can be instantiated in more complex ones. Sebastián Uchitel, Robert Chatley, Jeff Kramer, Jeff Magee |
SIGSOFT FSE | 1 |
| 2004 | Incremental elaboration of scenario-based specifications and behavior models using implied scenariosabstractBehavior modeling has proved to be successful in helping uncover design flaws of concurrent and distributed systems. Nevertheless, it has not had a widespread impact on practitioners because model construction remains a difficult task and because the benefits of behavior analysis appear at the end of the model construction effort. In contrast, scenario-based specifications have a wide acceptance in industry and are well suited for developing first approximations of intended behavior; however, they are still maturing with respect to rigorous semantics and analysis tools.This article proposes a process for elaborating system behavior that exploits the potential benefits of behavior modeling and scenario-based specifications yet ameliorates their shortcomings. The concept that drives the elaboration process is that of implied scenarios . Implied scenarios identify gaps in scenario-based specifications that arise from specifying the global behavior of a system that will be implemented component-wise. They are the result of a mismatch between the behavioral and architectural aspects of scenario-based specifications. Due to the partial nature of scenario-based specifications, implied scenarios need to be validated as desired or undesired behavior. The scenario specifications are then updated accordingly with new positive or negative scenarios. By iteratively detecting and validating implied scenarios, it is possible to incrementally elaborate the behavior described both in the scenario-based specification and models. The proposed elaboration process starts with a message sequence chart (MSC) specification that includes basic, high-level and negative MSCs. Implied scenario detection is performed by synthesis and automated analysis of behavior models. The final outcome consists of four artifacts: (1) an MSC specification that has been evolved from its original form to cover important aspects of the concurrent nature of the system that were under-specified or absent in the original specification, (2) a behavior model that captures the component structure of the system that, combined with (3) a constraint model and (4) a property model that provides the basis for modeling and reasoning about system design. Sebastián Uchitel, Jeff Kramer, Jeff Magee |
ACM Trans. Softw. Eng. Methodol. | 1 |
| 2003 | Second Workshop on Scenarios and State Machines: Models, Algorithms, and ToolsabstractFollowing the success of the "First Workshop on Scenarios and State Machines: Models, Algorithms, and Tools" held at ICSE 2002 in Orlando [1], this workshop aims at bringing together researchers and practitioners to build a shared understanding on the relation between scenarios and state machines and to gain insight into techniques and tools that may leverage the combination of these approaches to enhance our means for behavior modeling. Alexander Egyed, Martin Glinz, Ingolf Krüger, Tarja Systä, Sebastián Uchitel, Albert Zündorf |
ICSE | 5 |
| 2003 | Model-based Verification of Web Service CompositionsabstractIn this paper, we discuss a model-based approach to verifying Web service compositions for Web service implementations. The approach supports verification against specification models and assigns semantics to the behavior of implementation model so as to confirm expected results for both the designer and implementer. Specifications of the design are modeled in UML (Unified Modeling Language), in the form of message sequence charts (MSC), and mechanically compiled into the finite state process notation (FSP) to concisely describe and reason about the concurrent programs. Implementations are mechanically translated to FSP to allow a trace equivalence verification process to be performed. By providing early design verification, the implementation, testing, and deployment of Web service compositions can be eased through the understanding of the differences, limitations and undesirable traces allowed by the composition. The approach is supported by a suite of cooperating tools for specification, formal modeling and trace animation of the composition workflow. Howard Foster, Sebastián Uchitel, Jeff Magee, Jeff Kramer |
ASE | 2 |
| 2003 | Behaviour model elaboration using partial labelled transition systemsabstractState machine based formalisms such as labelled transition systems (LTS) are generally assumed to be complete descriptions of system behaviour at some level of abstraction: if a labelled transition system cannot exhibit a certain sequence of actions, it is assumed that the system or component it models cannot or should not exhibit that sequence. This assumption is a valid one at the end of the modelling effort when reasoning about properties of the completed model. However, it is not a valid assumption when behaviour models are in the process of being developed. In this setting, the distinction between proscribed behaviour and behaviour that has not yet been defined is an important one. Knowing where the gaps are in a behaviour model permits the presentation of meaningful questions to stakeholders, which in turn can lead to model exploration and thus more comprehensive descriptions of the system behaviour. In this paper we propose using partial labelled transition systems (PLTS) to capture what remains to be defined of the system behaviour. In the context of scenario synthesis, we show that PLTSs can be used to support the iterative incremental elaboration of behaviour models. Sebastián Uchitel, Jeff Kramer, Jeff Magee |
ESEC / SIGSOFT FSE | 1 |
| 2003 | LTSA-MSC: Tool Support for Behaviour Model Elaboration Using Implied Scenarios
Sebastián Uchitel, Robert Chatley, Jeff Kramer, Jeff Magee |
TACAS | 1 |
| 2003 | Synthesis of Behavioral Models from ScenariosabstractScenario-based specifications such as Message Sequence Charts (MSCs) are useful as part of a requirements specification. A scenario is a partial story, describing how system components, the environment, and users work concurrently and interact in order to provide system level functionality. Scenarios need to be combined to provide a more complete description of system behavior. Consequently, scenario synthesis is central to the effective use of scenario descriptions. How should a set of scenarios be interpreted? How do they relate to one another? What is the underlying semantics? What assumptions are made when synthesizing behavior models from multiple scenarios? In this paper, we present an approach to scenario synthesis based on a clear sound semantics, which can support and integrate many of the existing approaches to scenario synthesis. The contributions of the paper are threefold. We first define an MSC language with sound abstract semantics in terms of labeled transition systems and parallel composition. The language integrates existing approaches based on scenario composition by using high-level MSCs (hMSCs) and those based on state identification by introducing explicit component state labeling. This combination allows stakeholders to break up scenario specifications into manageable parts and reuse scenarios using hMCSs; it also allows them to introduce additional domain-specific information and general assumptions explicitly into the scenario specification using state labels. Second, we provide a sound synthesis algorithm which translates scenarios into a behavioral specification in the form of Finite Sequential Processes. This specification can be analyzed with the Labeled Transition System Analyzer using model checking and animation. Finally, we demonstrate how many of the assumptions embedded in existing synthesis approaches can be made explicit and modeled in our approach. Thus, we provide the basis for a common approach to scenario-based specification, synthesis, and analysis. Sebastián Uchitel, Jeff Kramer, Jeff Magee |
IEEE Trans. Software Eng. | 1 |
| 2002 | Scenarios and state machines: models, algorithms, and toolsabstractNo abstract available. Sebastián Uchitel, Tarja Systä, Albert Zündorf |
ICSE | 1 |
| 2002 | Negative scenarios for implied scenario elicitationabstractScenario-based specifications such as Message Sequence Charts (MSCs) are popular for requirement elicitation and specification. MSCs describe two distinct aspects of a system: on the one hand they provide examples of intended system behaviour and on the other they outline the system architecture. A mismatch between architecture and behaviour may give rise to implied scenarios. Implied scenarios occur because a component's local view of the system state is insufficient to enforce specified system behaviour. An implied scenario indicates a gap in the MSC specification that needs to be clarified. It may simply mean that an acceptable scenario has been overlooked and should be added to the scenario specification. Alternatively, it may represent an unacceptable behaviour which should be documented and avoided in the final implementation. Thus implied scenarios can be used to iteratively drive requirements elicitation. However, in order to do so, tools for coping with rejected implied scenarios are needed. The contributions of this paper are twofold. Firstly, we define a language for describing negative scenarios. Secondly, we complement existing implied scenario detection methods with techniques for accommodating negative scenarios. Sebastián Uchitel, Jeff Kramer, Jeff Magee |
SIGSOFT FSE | 1 |
| 2001 | Proving Deadlock Freedom in Component-Based Programming
Paola Inverardi, Sebastián Uchitel |
FASE | 2 |
| 2001 | A Workbench for Synthesising Behaviour Models from ScenariosabstractScenario-based specifications such as Message Sequence Charts (MSCs) are becoming increasingly popular as part of a requirements specification. Our objective is to facilitate the development of behaviour models in conjunction with scenarios. In this paper, we first present an MSC language with semantics in terms of labelled transition systems and parallel composition. The language integrates existing languages based on the use of high-level MSCs (hMSCs) and on identifying component states. This integration allows stakeholders to break up scenario specifications into manageable parts using hMCSs and to explicitly introduce additional information and domain-specific or other assumptions using state labels. Secondly, we present an algorithm, implemented in Java, which translates scenarios into a specification in the form of Finite Sequential Processes. This can then be fed to the labelled transition system analyser for model checking and animation. Finally we show how many of the assumptions embedded in existing synthesis approaches can be translated into our approach. Thus we provide the basis of a common workbench for supporting MSC specifications, behaviour synthesis and analysis. Sebastián Uchitel, Jeff Kramer |
ICSE | 1 |
| 2001 | Detecting implied scenarios in message sequence chart specificationsabstractScenario-based specifications such as Message Sequence Charts (MSCs) are becoming increasingly popular as part of a requirements specification. Scenario describe how system components, the environment and users work concurrently and interact in order to provide system level functionality. Each scenario is a partial story which, when combined with other scenarios, should conform to provide a complete system description. However, although it is possible to build a set of components such that each component behaves in accordance with the set of scenarios, their composition may not provide the required system behaviour. Implied scenarios may appear as a result of unexpected component interaction. In this paper, we present an algorithm that builds a labelled transition system (LTS) behaviour model that describes the closest possible implementation for a specification based on basic and high-level MSCs. We also present a technique for detecting and providing feedback on the existence of implied scenarios. We have integrated these procedures into the Labelled Transition System Analyser (LTSA), which allows for model checking and animation of the behaviour model. Sebastián Uchitel, Jeff Kramer, Jeff Magee |
ESEC / SIGSOFT FSE | 1 |
| 1999 | Towards a Periodic Table of Connectors
Dan Hirsch, Sebastián Uchitel, Daniel Yankelevich |
COORDINATION | 2 |