The Infona portal uses cookies, i.e. strings of text saved by a browser on the user's device. The portal can access those files and use them to remember the user's data, such as their chosen settings (screen view, interface language, etc.), or their login data. By using the Infona portal the user accepts automatic saving and using this information for portal operation purposes. More information on the subject can be found in the Privacy Policy and Terms of Service. By closing this window the user confirms that they have read the information on cookie usage, and they accept the privacy policy and the way cookies are used by the portal. You can change the cookie settings in your browser.
Existing code similarity comparison methods, whether source or binary code based, are mostly not resilient to obfuscations. Identifying similar or identical code fragments among programs is very important in some applications. For example, one application is to detect illegal code reuse. In the code theft cases, emerging obfuscation techniques have made automated detection increasingly difficult....
Program invariant is formal description of properties that should hold at certain program location in every valid execution. It is very useful for program analysis and verification. In this paper, we introduce an abstraction interpretation approach for generating program invariant efficiently and precisely. A polynomial interval domain is proposed for representing abstract state and precise loop effect...
Automatic and semi-automatic approaches supporting program comprehension are sought by researchers and practitioners to facilitate software engineering tasks, such as development, maintenance, extension and so on. Using topic modeling is a promising way to automatically discover feature and structure from textual software assets. However, there are gaps between knowing and doing when applying topic...
Over the last decade, a globalization of the software industry took place, which facilitated the sharing and reuse of code across existing project boundaries. At the same time, such global reuse also introduces new challenges to the software engineering community, with not only components but also their problems and vulnerabilities being now shared. For example, vulnerabilities found in APIs no longer...
In contract-based development of model transformations, continuous deductive verification may help the transformation developer in early bug detection. However, because of the execution performance of current verification systems, re-verifying from scratch after a change has been made would introduce impractical delays. We address this problem by proposing an incremental verification approach for...
Structured analysis of transition systems concerns paths, building blocks, representations, and effective computations of semantics, thus having significant influence on practical applications of graph theory. For instance, part of these results plays important roles in formal language studies, compiler designs and genetic programming. This paper aims to introduce relations among them, and to present...
Synchronous embedded systems are becoming more and more complicated and are usually implemented with integrated hardware/software solutions. This implementation manner brings new challenges to the traditional model-driven design environments such as SCADE and STATEMATE, that supports pure hardware or software design. In this paper, we propose a co-design tool Tsmart-Edola to facilitate the system...
OntoSoft is a distributed semantic registry for scientific software. This paper describes three major novel contributions of OntoSoft: 1) a software metadata registry designed for scientists, 2) a distributed approach to software registries that targets communities of interest, and 3) metadata crowdsourcing through access control. Software metadata is organized using the OntoSoft ontology along six...
There are many illegal value use defects in C programs, for example, illegal computing, use of uninitialized variables and array out of bounds. When C programs are running, these defects may cause software failure, and may lead to serious consequences. For fully detecting these illegal value use defects, we apply abstract regions simulate memory blocks that allocated to memory objects at the runtime,...
Due to the positive effects concerning comfort, economic and ecologic reasons, building automation systems are increasingly integrated into nowadays buildings. Furthermore the investigations in cyber physical systems and the internet of things blur the line between the originally separate systems and lead to smart buildings cooperatively operated together with non-building automation systems. The...
Feature modeling is of paramount importance to capture variabilities and commonalities within a software product line. Nevertheless, current feature modeling notations are limited, representing only propositional formulae over attributed variables. This position paper advocates the extension of feature modeling formalisms with richer computational domains and relational operations. In particular,...
Choosing the Event-B formal method to model and develop distributed railway interlocking systems can give us a great advantage over the general purpose programming languages, especially in case of the safety analysis of these systems. Despite its many benefits, Event-B suffers from an efficient reuse mechanism, which is highly disadvantageous in the development of large interlocking systems. In this...
At present, the most common method for verifying that a system met its specifications or to detect unexpected behavior and issues is to perform simulations on the model. This approach is limited by the fact that it is of course impossible to be exhaustive and fully test the system. This is why the need to resort to formal methods, and more particularly to model-checking, was felt. In this paper, we...
Automatic grading of programs has existed in various fields for many years ago. Within this paper, we propose a method for evaluating C programs. Two approaches are distinguished in this context: static and dynamic analysis methods. Unlike the dynamic analysis that requires an executable program to be evaluated, static analysis could evaluate a program even if it is not totally correct. The proposed...
To address the high level of dynamism and variability in modern streaming applications (e.g. video decoding) as well as the difficulties in programming heterogeneous MPSoCs, we propose a novel execution model based upon both dataflow and Kahn process networks. This paper presents the semantics and properties of this hierarchical and parametric model, called DKPN. Parameters are classified and it is...
To address the high level of dynamism and variability in modern streaming applications (e.g. video decoding) as well as the difficulties in programming heterogeneous MPSoCs, we propose a novel execution model based upon both dataflow and Kahn process networks. This paper presents the semantics and properties of this hierarchical and parametric model, called DKPN. Parameters are classified and it is...
Facing the increasing complexity of systems and their design methods, the Model Driven Engineering (MDE) brings solutions to facilitate and automate the software development process. The model transformation is the most important artifact in MDE that it defines the automatic passing from one model to another. The validation of such model transformation are necessary to improve the safety of this latter,...
This paper describes an open-source simulator for cyberphysical systems called CyPhySim that is based on Ptolemy II. This simulator supports classical (Runge-Kutta) and quantized-state simulation of ordinary diferential equations, modal models (hybrid systems), discrete-event models, the Functional Mockup Interface (FMI) for model-exchange and co-simulation, discrete-time (periodic) systems, and algebraic...
The concept of liquid clocks introduced in this paper is a significant step towards a more precise compile-time framework for the analysis of synchronous and polychromous languages. Compiling languages such as Lustre or Signal indeed involves a number of static analyses of programs before they can be synthesized into executable code, e.g., synchronicity class characterization, clock assignment, static...
Predicate transformers are symbolic functions used for computing transitions of system models with states represented by means of logic formulas. They are widely used for symbolic evaluation of programs, verification, abstract interpretation, and symbolic modeling of software. The models of software systems considered in this paper are represented by means of systems of local description units and...
Set the date range to filter the displayed results. You can set a starting date, ending date or both. You can enter the dates manually or choose them from the calendar.