Size-change termination (SCT) automatically identifies termination of first-order functional programs. The SCT principle: a program terminates if every infinite control flow sequence would cause an infinite descent in...
详细信息
The importance of software testing is widely recognized, but usually only a small portion of the computer science (CS) curriculum is allocated for teaching it. Some experiences have suggested that the teaching of soft...
详细信息
The importance of software testing is widely recognized, but usually only a small portion of the computer science (CS) curriculum is allocated for teaching it. Some experiences have suggested that the teaching of software testing should begin as early as possible so an adequate culture of testing could be created. One way to achieve this is addressing testing practices in conjunction with programming concepts in introductory CS courses. In this paper we explore such idea, working on the integration between the teaching of software testing along with the teaching of programming foundations. We discuss the development of an educational module, and its related learning materials, for integrating such knowledge domains. Besides that, we propose PROGTEST - a Web-based environment for the submission and automatic evaluation of practical programming assignments based on testing activities, aiming at providing an adequate feedback to evaluate the learnerspsila performance concerning programming and testing.
Scoped memory is perhaps the most novel contribution of the Real-Time Specification for Java (RTSJ) to the Java programming language. In this paper we show that scoped memory can be used to reduce the processor overhe...
详细信息
ISBN:
(纸本)0769515584
Scoped memory is perhaps the most novel contribution of the Real-Time Specification for Java (RTSJ) to the Java programming language. In this paper we show that scoped memory can be used to reduce the processor overhead of any possible garbage collection algorithm and to avoid all latency introduced by any garbage collection algorithm. These semantics make it easier to write correct real-time programs.
Analogical planning provides a means of solving engineering problems where other machine learning methods fail. Unlike many machine learning paradigms, analogy does not require numerous previous examples or a rich dom...
详细信息
IoT devices are diverse in their characteristics and made by many vendors, hence the inter-operation among them is difficult. Especially, end users can't make their own programs by do-it-yourselves. IFTTT and Zapi...
详细信息
IoT devices are diverse in their characteristics and made by many vendors, hence the inter-operation among them is difficult. Especially, end users can't make their own programs by do-it-yourselves. IFTTT and Zapier platforms are designed to help end users to make them inter-operable easily and prevail in these days. Their approach is categorized into a Trigger-Action-programming, in which trigger conditions and actions are already made by professional programmers of several IoT vendors and end users composite them into their own applications easily. But, their drawback is that the composition can be made at once in the first level, hence end users can't make more complicated applications. Our approach is based on a dataflow programming paradigm which resembles the TAP in that the internal actions are triggered when all the inputs of a node are prepared. In our approach, a composition of some atomic nodes becomes another atomic node, so the composition would continue iteratively. This feature is so generous that several visual programming languages like LabView are relied on the approach for various fields. We propose the overall architecture of our system and explain them. We also present Internet of Things examples of our approach, which shows that atomic dataflow objects can be associated to produce composite dataflow objects. And they are also composited to make more complex applications iteratively. We compare IFTTT, Zapier, and our approach qualitatively and show that end users can make more diverse and flexible applications in our approach.
automatic code generation of application families emerges as a solid promise to cope with the increasing demand of software in business environments. Using templates and metadata for development of abstract solutions ...
详细信息
ISBN:
(纸本)9781402062636
automatic code generation of application families emerges as a solid promise to cope with the increasing demand of software in business environments. Using templates and metadata for development of abstract solutions and further automatic generation of the particular cases, helps freeing the developers from the most mechanical and tedious tasks of the implementation phase allowing them to focus their knowledge in the expression of conceptual solutions. In this case study, we adapted the Halstead metrics for object-oriented code, templates, and metadata -in XML format- to measure the effort required to specify and then automatically generate complete applications, in comparison with the effort required to build the same applications entirely by hand. Then we used the same metrics to compare the effort of specifying and generating a second application of the same family, versus the effort required to coding this second application by hand.
MPI is the de facto standard for portable parallel programming on high-end systems. However, while the MPI standard provides functional portability, it does not provide sufficient performance portability across platfo...
详细信息
ISBN:
(纸本)9780769551173
MPI is the de facto standard for portable parallel programming on high-end systems. However, while the MPI standard provides functional portability, it does not provide sufficient performance portability across platforms. We present a framework that enables users to provide hints about communication patterns used within MPI applications. These annotations are then used by an automated program transformation system to leverage different MPI operations that better match each system's capabilities. Our framework currently supports three automated transformations: coalescing of operations in MPI one-sided communications;transformation of blocking communications to nonblocking, which enables communication-computation overlap;and selection of the appropriate communication operators based on the cache-coherence support of the underlying platform. We use our annotation-based approach to optimize several benchmark kernels, and we demonstrate that the framework is effective at automatically improving performance portability for MPI applications.
We discuss the thesis that one good way of achieving non-procedural or problem-oriented languages is by constructing higher and higher level procedural languages, and along with them, more sophisticated optimizers. We...
详细信息
An object-oriented Robot Independent programming Environment (RIPE) developed at Sandia National Laboratories is being used for rapid design and implementation of a variety of applications. A system architecture based...
详细信息
暂无评论