scispace - formally typeset
Search or ask a question
Topic

Software portability

About: Software portability is a research topic. Over the lifetime, 8987 publications have been published within this topic receiving 164922 citations. The topic is also known as: portability.


Papers
More filters
01 Jan 2009
TL;DR: FLAIR is an advanced user graphical interface for FLUKA to enable the user to start and controlFLUKA jobs completely from a GUI environment without the need for command-line interactions and contains a fully featured editor for editing the input files in a human readable way with syntax highlighting.
Abstract: FLAIR is an advanced user graphical interface for FLUKA, to enable the user to start and control FLUKA jobs completely from a GUI environment without the need for command-line interactions. It is written entirely with python and Tkinter allowing easier portability across various operating systems and great programming flexibility with focus to be used as an Application Programming Interface (API) for FLUKA. FLAIR is an integrated development environment (IDE) for FLUKA, it does not only provide means for the post processing of the output but a big emphasis has been set on the creation and checking of error free input files. It contains a fully featured editor for editing the input files in a human readable way with syntax highlighting, without hiding the inner functionality of FLUKA from the users. It provides also means for building the executable, debugging the geometry, running the code, monitoring the status of one or many runs, inspection of the output files, post processing of the binary files (data merging) and interface to plotting utilities like gnuplot and PovRay for high quality plots or photorealistic images. The program includes also a database of selected properties of all known nuclides and their known isotopic composition as well a reference database of ~300 predefined materials together with their Sterheimer parameters.

259 citations

Proceedings Article
10 Aug 2009
TL;DR: The design and implementation of a system that fully automates the process of constructing instruction sequences that can be used by an attacker for malicious computations are presented and a practical attack that can bypass existing kernel integrity protection mechanisms is described.
Abstract: Protecting the kernel of an operating system against attacks, especially injection of malicious code, is an important factor for implementing secure operating systems. Several kernel integrity protection mechanism were proposed recently that all have a particular shortcoming: They cannot protect against attacks in which the attacker re-uses existing code within the kernel to perform malicious computations. In this paper, we present the design and implementation of a system that fully automates the process of constructing instruction sequences that can be used by an attacker for malicious computations. We evaluate the system on different commodity operating systems and show the portability and universality of our approach. Finally, we describe the implementation of a practical attack that can bypass existing kernel integrity protection mechanisms.

256 citations

Journal ArticleDOI
01 Jul 2012
TL;DR: This work proposes a representation for feed-forward imaging pipelines that separates the algorithm from its schedule, enabling high-performance without sacrificing code clarity, and demonstrates the power of this representation by expressing a range of recent image processing applications in an embedded domain specific language called Halide and compiling them for ARM, x86, and GPUs.
Abstract: Using existing programming tools, writing high-performance image processing code requires sacrificing readability, portability, and modularity. We argue that this is a consequence of conflating what computations define the algorithm, with decisions about storage and the order of computation. We refer to these latter two concerns as the schedule, including choices of tiling, fusion, recomputation vs. storage, vectorization, and parallelism.We propose a representation for feed-forward imaging pipelines that separates the algorithm from its schedule, enabling high-performance without sacrificing code clarity. This decoupling simplifies the algorithm specification: images and intermediate buffers become functions over an infinite integer domain, with no explicit storage or boundary conditions. Imaging pipelines are compositions of functions. Programmers separately specify scheduling strategies for the various functions composing the algorithm, which allows them to efficiently explore different optimizations without changing the algorithmic code.We demonstrate the power of this representation by expressing a range of recent image processing applications in an embedded domain specific language called Halide, and compiling them for ARM, x86, and GPUs. Our compiler targets SIMD units, multiple cores, and complex memory hierarchies. We demonstrate that it can handle algorithms such as a camera raw pipeline, the bilateral grid, fast local Laplacian filtering, and image segmentation. The algorithms expressed in our language are both shorter and faster than state-of-the-art implementations.

256 citations

Journal ArticleDOI
Gregor Kiczales1
TL;DR: This paper provides some ideas to spark further debate on black-box abstraction, a basic tenet of software design, underlying approaches to portability and reuse.
Abstract: Encapsulation, informally known as black-box abstraction, is a widely known and accepted principle. It is a basic tenet of software design, underlying approaches to portability and reuse. However, many practitioners find themselves violating it in order to achieve performance requirements in a practical manner. The gap between theory and practice must be filled. Open implementation is a controversial new approach that claims to do just that. The paper provides some ideas to spark further debate on black-box abstraction.

250 citations

Patent
19 Mar 1998
TL;DR: In this paper, a technique, system, and computer program for maintaining session information among multiple clustered computers for servlets and providing those servlets with various session services is presented, where session services are implemented using a plug-in servlet engine.
Abstract: A technique, system, and computer program for maintaining session information among multiple clustered computers for servlets and providing those servlets with various session services. The session services are implemented using a plug-in servlet engine. The session information is preferably maintained without using a persistent data store, to avoid performance penalties associated with storing information in persistent storage such as a database. A locking technique is implemented to prevent servlets from inadvertently overwriting each other's session object data. A registration process is preferably used, to optimize communication of configuration property changes. Non-proprietary interfaces are used, allowing for scalability, portability, and maximum industry acceptance of this solution.

249 citations


Network Information
Related Topics (5)
Software
130.5K papers, 2M citations
90% related
Cloud computing
156.4K papers, 1.9M citations
83% related
The Internet
213.2K papers, 3.8M citations
83% related
Wireless sensor network
142K papers, 2.4M citations
82% related
Artificial neural network
207K papers, 4.5M citations
82% related
Performance
Metrics
No. of papers in the topic in previous years
YearPapers
20241
2023580
20221,257
2021290
2020308
2019381