Most large software applications rely on an external relational database for storing and managing persistent data. Typically, such applications interact withthe database by first constructing strings that represent S...
详细信息
Most large software applications rely on an external relational database for storing and managing persistent data. Typically, such applications interact withthe database by first constructing strings that represent SQL statements, and then submitting these for execution by the database engine. the fact that these statements are only checked for correctness at runtime is a source for many potential defects, including type and syntax errors and vulnerability to injection attacks. the ARARAT system presented here offers a method for dealing withthese difficulties by coercing the host C++ compiler to do the necessary checks of the generated strings. A library of templates and preprocessor directives is used to embed in C++ a little language representing an augmented relational algebra formalism. Type checking of this embedded language, carried out by our template library, assures, at compile-time, the correctness and safety of the generated SQL strings. All SQL statements constructed by ARARAT are guaranteed to be syntactically correct, and type safe with respect to the database schema. Moreover, ARARAT statically ensures that the generated statements are immune to all injection attacks. the standard techniques of "expression templates" and "compile-time symbolic derivation" for compile-time representation of symbolic structures, are enhanced in our system. We demonstrate the support of a type system and a symbol table lookup of the symbolic structure. A key observation of this work is that type equivalence of instantiated nominally typed generics in C++ (as well as other languages, e.g., JAVA) is structural rather than nominal. this makes it possible to embed the structural type system, characteristic to persistent data management, in the nominal type system of C++. For some of its advanced features, ARARAT relies on two small extensions to the standard C++ language: the typeof pseudo operator and the _COUNTER_ preprocessor macro. (C) 2010 Elsevier B.V. All rights re
this article presents a multidomain approach which addresses the problem of automatic home environmental sound recognition. the proposed system will be part of a human activity monitoring system which will be based on...
详细信息
there is only that much space in the CS curriculum, and there are always new subjects that should be accommodated by the curriculum. For instance, in our community, we would want all graduates to leave university with...
详细信息
ISBN:
(纸本)9781450301541
there is only that much space in the CS curriculum, and there are always new subjects that should be accommodated by the curriculum. For instance, in our community, we would want all graduates to leave university with a modest background in technical spaces, software languages, and meta-programming;also, with conceptually informed and reasonably timeless skills to efficiently master related programming techniques and technologies. In reality, the curricula of few CS departments meet this expectation. In this talk, I will discuss such curricula-related expectations of our community and the suboptimal situation at CS departments-as I perceive them. More importantly, I will allude to a revision of the CS curriculum that could optimize matters and may stand a chance for mid-term adoption.
In the process of testing component-based software, Oracle problem comes into existence frequently because of the diversity of component running environment and complicated interactions among components. In this paper...
详细信息
In the process of testing component-based software, Oracle problem comes into existence frequently because of the diversity of component running environment and complicated interactions among components. In this paper, we exploit the features of the component-based software and metamorphic testing (MT) to alleviate the issues. the metamorphic class will invoke relevant component to execute test cases and use their metamorphic relations to defect faults. Test cases for the unit test phase are proposed to generate follow-up test cases for the integration test phase. It has potentials to shift the testing effort from the construction of the integration test sets to the development of metamorphic relations.
the purpose of this research was to investigate quantitatively the catch-up saccades occurring during smooth pursuit. In the first experiment, to evoke catch-up saccades we used high velocity predictable two-dimension...
详细信息
this paper proposes an architecture concept to the design of software, for embedded systems and cooperating embedded systems, aimed to simplify not only design but also reuse and reconfigurability. the concept is targ...
详细信息
ISBN:
(纸本)9781424437597
this paper proposes an architecture concept to the design of software, for embedded systems and cooperating embedded systems, aimed to simplify not only design but also reuse and reconfigurability. the concept is targeted at software for recurring signal processing and control tasks common in industrial embedded supervision and control applications. An important part of the architecture concept is that the design work is partitioned and described at two major levels. the first level is focused on definition of data structures and reentrant data mapping functions to be supported by a restricted use of an existing programming language. the second level, i.e. the system level, focuses on structural and behavioral concerns including: component encapsulation, connection of actions and components via ports. this level, also handling delays, triggers and actors, is supported by a system modeling language. the thus partitioned approach makes the different design and engineering concerns well separated which simplifies both analysis and verification of functional and time behavioral correctness, compared to if they are mixed and intertwined into each other. Another gain withthe proposed architecture concept is that the number of operating system (OS) threads and associated overhead needed to share the processor or a set of processors in a distributed or multi-core case is minimized.
Testing software can be particularly challenging for a small or mid-size firm interested in commercially distributing their software to a wide variety of users. Testing is clearly an important part of any software dev...
详细信息
the indirection of object accesses is a common theme for target domains as diverse as transparent distribution, persistence, and program instrumentation. Virtualizing accesses to fields and methods (by redirecting cal...
详细信息
It is proposed a new approach based on a methodology, assisted by a tool, to create new products in the automobile industry based on previous defined processes and experiences inspired on a set of best practices or pr...
详细信息
It is proposed a new approach based on a methodology, assisted by a tool, to create new products in the automobile industry based on previous defined processes and experiences inspired on a set of best practices or principles: it is based on high-level models or specifications; it is component-based architecture centric; it is based on generativeprogramming techniques. this approach follows in essence the MDA (Model Driven Architecture) philosophy with some specific characteristics. We propose a repository that keeps related information, such as models, applications, design information, generated artifacts and even information concerning the development process itself (e.g., generation steps, tests and integration milestones). Generically, this methodology receives the users' requirements to a new product (e.g., functional, non-functional, product specification) as its main inputs and produces a set of artifacts (e.g., design parts, process validation output) as its main output, that will be integrated in the engineer design tool (e.g. CAD system) facilitating the work.
暂无评论