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.
Clone detectors find similar code fragments and report large numbers of them for large systems. Textually similar clones may perform different computations, depending on the program context in which clones occur. Understanding these contextual differences is essential to distill useful clones for a specific maintenance task, such as refactoring. Manual analysis of contextual differences is time consuming...
We propose a design approach to integrating correct-by-construction formal modeling with hardware implementations in VHDL. Formal modeling is performed within the Event-B framework that supports the refinement approach, i.e., stepwise unfolding of system properties in a correct-by-construction manner. After an implement able model of a hardware system is derived, we apply an additional refinement...
Individual learners have different requirements and characteristics, and as a result learning content should be able to be personalized and adaptable to the e-learner' profile. Little research work undertaken to tackle this issue, and it has been limited to ad-hoc work on personalizing, and adapting learning content in e-Learning. This paper presents two methods for modeling user profile and for personalizing...
Large software projects are often based on libraries that provide abstractions for a particular domain such as writing database queries, staging, or constraint solving. The API provided by such a library can be considered a domain-specific language within the implementation language of the library, a so-called internal or embedded domain-specific language (eDSL). Embedding a DSL leverages the tool...
We present the first ever distributed transactional memory (DTM) framework for distributed concurrency control in C++, called HyflowCPP. HyflowCPP provides distributed atomic sections, and plug gable support for policies for concurrency control, directory lookup, contention management, and networking. While there exists other DTM frameworks, they mostly target VM-based languages (e.g., Java, Scala)...
The requirement for higher Security and Dependability (S&D) of systems is continuously increasing, even in domains traditionally not deeply involved in such issues. Nowadays, many practitioners express their worries about current S&D software engineering practices. New recommendations should be considered to ground this discipline on two pillars: solid theory and proven principles. We took...
The recent emergence of information design as an academic discipline has presented a challenge with respect to how it is defined in the academy and by practitioners. Learning about information design begins with understanding how it is defined. This paper provides an analysis of the definition of information design. Using a method based on content analysis, existing definitions proposed by renowned...
Whereas a software component may be perfectly suited to one application, it may prove to cause severe faults in other applications. The pre-standard IEC/PAS 62814 (Dependability of Software Products Containing Reusable Components - Guidance for Functionality and Tests), which has recently been released, addresses the functionality, testing, and dependability of software components to be reused and...
Dynamic program analysis tools serve many important software engineering tasks such as profiling, debugging, testing, program comprehension, and reverse engineering. Many dynamic analysis tools rely on program instrumentation and are implemented using low-level instrumentation libraries, resulting in tedious and error-prone tool development. The recently released Domain-Specific Language for Instrumentation...
We provide a summary of the goals, underlying philosophy, work, decisions, product, and completion schedule of the IEEE P-1788 working group on interval arithmetic.
The paper presents extensions to the standard version of genetic programming. Concepts concerning contexts and context blocks as well as their possible applications are discussed. It is shown how these concepts can be utilized to implement a novel approach to modular genetic programming based on modules stored with the abstract syntax tree, but also attached to nodes that call them (Node-attached...
Apple's iPhone has opened the market of various smart devices and changed the way of computing in daily life. In traditional PCs, mouse and keyboard are representative input devices, but, in smart devices, touch screen and motion recognition become major input methods. Especially, in game applications, motion recognition is more important to dynamically interact with users. In this paper, we propose...
A method for Peer-to-Peer streaming of Video-on-Demand with residential nodes is described. A possible problem with doing peer-to-peer video-on-demand streaming is the necessity of storing on the disk of the residential user the content to be streamed, allowing a malicious user to distribute illegally the content. The proposed method has the advantage of storing on the user's disk only a reduced version...
C makes it easy to misuse integer types; even mature programs harbor many badly-written integer code. Traditional approaches at best detect these problems; they cannot guide developers to write correct code. We describe three program transformations that fix integer problems — one explicitly introduces casts to disambiguate type mismatch, another adds runtime checks to arithmetic operations, and the...
We wanted to provide a tool for doing code search over open source repositories as part of the Code Bubbles integrated development environment. Integrating code search as a plug-in to Code Bubbles required substantial changes to the S6 code search engine and the development of appropriate user interfaces in Code Bubbles. After briefly reviewing Code Bubbles and the S6 search engine, this paper describes...
Delegation is an important dimension of security that plays a crucial role in the administration mechanism of access control policies. Delegation may be viewed as an exception made to an access control policy in which a user gets right to act on behalf of other users. This "meta-level" characteristic together with the complexity of delegation itself make it crucial to ensure the correct...
A storage service implementation, based on a semantic content repository of Tupelo is designed and developed. The architecture of the implementation makes it possible to accommodate both bitstream and metadata storage. The mapping solution from the digital library entities and their relations to the counterparts with semantic data structure is also provided. A case study on an open source digital...
Time has shown that technology has always had a significant influence on and role in education. The more advanced technology was the greater contribution it made to education. When we look back we can clearly see how great an influence film, radio and television have had on education. The second half of the twentieth century was marked by the results of the use of computers and information and communication...
Online communities bring together people with varied access to and understanding of the work at hand, who must collaborate through documents of various kinds. We develop a framework articulating the characteristics of documents supporting collaborators with asymmetric access to knowledge versus those with symmetric knowledge. Drawing on theories about document genre, boundary objects and provenance,...
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.