Sofia Cassel
Uppsala University
Network
Latest external collaboration on country level. Dive into details by clicking on the dots.
Publication
Featured researches published by Sofia Cassel.
verification model checking and abstract interpretation | 2012
Falk Howar; Bernhard Steffen; Bengt Jonsson; Sofia Cassel
In this paper, we present an extension of active automata learning to register automata , an automaton model which is capable of expressing the influence of data on control flow. Register automata operate on an infinite data domain, whose values can be assigned to registers and compared for equality. Our active learning algorithm is unique in that it directly infers the effect of data values on control flow as part of the learning process. This effect is expressed by means of registers and guarded transitions in the resulting register automata models. The application of our algorithm to a small example indicates the impact of learning register automata models: Not only are the inferred models much more expressive than finite state machines, but the prototype implementation also drastically outperforms the classic L * algorithm, even when exploiting optimal data abstraction and symmetry reduction.
Formal Aspects of Computing | 2016
Sofia Cassel; Falk Howar; Bengt Jonsson; Bernhard Steffen
We present a black-box active learning algorithm for inferring extended finite state machines (EFSM)s by dynamic black-box analysis. EFSMs can be used to model both data flow and control behavior of software and hardware components. Different dialects of EFSMs are widely used in tools for model-based software development, verification, and testing. Our algorithm infers a class of EFSMs called register automata. Register automata have a finite control structure, extended with variables (registers), assignments, and guards. Our algorithm is parameterized on a particular theory, i.e., a set of operations and tests on the data domain that can be used in guards.Key to our learning technique is a novel learning model based on so-called tree queries. The learning algorithm uses tree queries to infer symbolic data constraints on parameters, e.g., sequence numbers, time stamps, identifiers, or even simple arithmetic. We describe sufficient conditions for the properties that the symbolic constraints provided by a tree query in general must have to be usable in our learning model. We also show that, under these conditions, our framework induces a generalization of the classical Nerode equivalence and canonical automata construction to the symbolic setting. We have evaluated our algorithm in a black-box scenario, where tree queries are realized through (black-box) testing. Our case studies include connection establishment in TCP and a priority queue from the Java Class Library.
automated technology for verification and analysis | 2011
Sofia Cassel; Falk Howar; Bengt Jonsson; Maik Merten; Bernhard Steffen
We present a novel canonical automaton model, based on register automata, that can easily be used to specify protocol or program behavior. More concretely, register automata are reminiscent of control flow graphs: they comprise a finite control structure, assignments, and conditionals, allowing to assign values of an infinite domain to registers (variables) and to compare them for equality. A major contribution is the definition of a canonical automaton representation of any language recognizable by a deterministic register automaton, by means of a Nerode congruence. Not only is this canonical form easier to comprehend than previous proposals, but it can also be exponentially more succinct than these. Key to the canonical form is the symbolic treatment of data languages, which overcomes the structural restrictions in previous formalisms, and opens the way to new practical applications.
software engineering and formal methods | 2014
Sofia Cassel; Falk Howar; Bengt Jonsson; Bernhard Steffen
We present an active learning algorithm for inferring extended finite state machines (EFSM)s, combining data flow and control behavior. Key to our learning technique is a novel learning model based on so-called tree queries. The learning algorithm uses the tree queries to infer symbolic data constraints on parameters, e.g., sequence numbers, time stamps, identifiers, or even simple arithmetic. We describe sufficient conditions for the properties that the symbolic constraints provided by a tree query in general must have to be usable in our learning model. We have evaluated our algorithm in a black-box scenario, where tree queries are realized through (black-box) testing. Our case studies include connection establishment in TCP and a priority queue from the Java Class Library.
leveraging applications of formal methods | 2010
Falk Howar; Bengt Jonsson; Maik Merten; Bernhard Steffen; Sofia Cassel
Most communication with real-life systems involves data values being relevant to the communication context and thus influencing the observable behavior of the communication endpoints. When applying methods from the realm of automata learning, it is necessary to handle such data-occurrences. In this paper, we consider how the techniques of automata learning can be adapted to the problem of learning interaction models in which data parameters are an essential element. Especially, we will focus on how test-drivers for real-word systems can be generated automatically. Our main contribution is an analysis of (1) the requirements on information contained in models produced by the learning enabler in the CONNECT project and (2) the resulting preconditions for generating test-drivers automatically.
tools and algorithms for construction and analysis of systems | 2012
Maik Merten; Falk Howar; Bernhard Steffen; Sofia Cassel; Bengt Jonsson
We will demonstrate the impact of the integration of our most recently developed learning technology for inferring Register Automata into the LearnLib, our framework for active automata learning. This will not only illustrate the unique power of Register Automata, which allows one to faithfully model data independent systems, but also the ease of enhancing the LearnLib with new functionality.
automated technology for verification and analysis | 2012
Sofia Cassel; Bengt Jonsson; Falk Howar; Bernhard Steffen
We present a novel canonical automaton model for languages over infinite data domains, that is suitable for specifying the behavior of services, protocol components, interfaces, etc. The model is based on register automata. A major contribution is a construction of succinct canonical register automata, which is parameterized on the set of relations by which elements in the data domain can be compared. We also present a Myhill Nerode-like theorem, from which minimal canonical automata can be constructed. This canonical form is as expressive as general deterministic register automata, but much better suited for modeling in practice since we lift many of the restrictions on the way variables can be accesed and stored: this allows our automata to be significantly more succinct than previously proposed canonical forms. Key to the canonical form is a symbolic treatment of data languages, which allows us to construct minimal representations whenever the set of relations can be equipped with a so-called branching framework.
advances in social networks analysis and mining | 2014
Mohamed Faouzi Atig; Sofia Cassel; Lisa Kaati; Amendra Shrestha
Analysis and mining of social media has become an important research area. A challenging problem in this area consists in the identification of a group of users with similar patterns. In this paper, we propose the classification of users based on their activity profiles (e.g., periods of the day when the user is most and least active in online communications). Activity profiles can be useful for many purposes, such as marketing and user behavior analysis. They can also serve as a basis for other techniques such as stylometric and time analysis in order to increase the precision and scalability of multiple aliases identification techniques. We have implemented a prototype tool and applied it on a dataset from the ICWSM data set Boards.ie, showing the usefulness of our classification.
frontiers in education conference | 2014
Sofia Cassel; Aletta Nylén; Björn Victor
An engineering graduate needs to master a number of important skills: problem solving, critical thinking, communication, collaboration, etc. In this paper we describe how a course in computer security, taught in the Computer and Information Engineering programme at Uppsala University, has been developed over a period of three years. The aim is to better develop the engineering competencies of students, improving their understanding of course contents, training their ability to reflect on it, and to apply their knowledge when facing realistic problems. The course is designed to activate students, based on practical labs and theoretical tasks which are solved in groups. The student reports are assessed at seminars, where the solutions are presented orally, peer-reviewed and discussed. The seminars encourage and reward activities at the higher levels of taxonomies such as Blooms. The results of the development, based on a CEQ-based course evaluation, indicate that students take a deeper approach to learning. They develop their problem-solving skills to a high degree, appreciate the practical solving of open-ended problems, and take responsibility for collaborative learning. Their overall satisfaction with the course is quite high, despite indications that they find the workload high.
frontiers in education conference | 2015
Sofia Cassel; Björn Victor
Students in engineering are well trained in solving specified problems, but some have trouble when given problems where there is more than one solution. In their professional life they are much more often confronted with open-ended problems, where there may be more than one solution, and where there may be many ways to reach each one. The goals may be vague, the problem may be underspecified, and the fresh graduate frustrated by the new situation. We present a structured approach to training students in open-ended problem solving. We have introduced a half-day workshop to help students learn to work with open-ended, ill-structured problems, using a different approach than they would for the well-structured problems they are used to. Our results indicate that students have become more creative. Compared to previous years, the students explore more paths towards the goal, and use more elaborate methods. Their approach is similar to that typically used by the best students in previous instances of the course. Students mention creativity and group dynamics as positive aspects of the workshop and the following lab. We conclude that with proper guidance and training, even weaker students can become more creative when solving open-ended problems.