Optimization Techniques for Mathematical Routines Available through High-Level Source Code

Author(s):  
S. Roy ◽  
A. Chaudhuri
Author(s):  
Peter Marwedel

AbstractEmbedded systems have to be efficient (at least) with respect to the objectives considered in this book. In particular, this applies to resource-constrained mobile systems, including sensor networks embedded in the Internet of Things. In order to achieve this goal, many optimizations have been developed. Only a small subset of those can be mentioned in this book. In this chapter, we will present a selected set of such optimizations. This chapter is structured as follows: first of all, we will present some high-level optimization techniques, which could precede compilation of source code or could be integrated into it. We will then describe concurrency management for tasks. Section 7.3 comprises advanced compilation techniques. The final Sect. 7.4 introduces power and thermal management techniques.


2020 ◽  
Author(s):  
Sara Di Bartolomeo ◽  
Yixuan Zhang ◽  
Fangfang Sheng ◽  
Cody Dunne

Temporal event sequence alignment has been used in many domains to visualize nuanced changes and interactions over time. Existing approaches align one or two sentinel events. Overview tasks require examining all alignments of interest using interaction and time or juxtaposition of many visualizations. Furthermore, any event attribute overviews are not closely tied to sequence visualizations. We present SEQUENCE BRAIDING, a novel overview visualization for temporal event sequences and attributes using a layered directed acyclic network.SEQUENCE BRAIDING visually aligns many temporal events and attribute groups simultaneously and supports arbitrary ordering, absence, and duplication of events. In a controlled experiment we compare SEQUENCE BRAIDING and IDMVis on user task completion time, correctness, error, and confidence. Our results provide good evidence that users of SEQUENCE BRAIDING can understand high-level patterns and trends faster and with similar error. A full version of this paper with all appendices;the evaluation stimuli, data, and analysis code; and source code are available at osf.io/s92bu.


2018 ◽  
Vol 48 (1) ◽  
pp. 43-49
Author(s):  
E. A. PRESEZNIAK ◽  
J. E. PEREZ IPIÑA ◽  
C. A. BAVASTRI

Damage prognosis uses numerical and experimental responses to identify damage in structures or part of them, thus allowing the remaining structural life estimation at a high level of precision. Current methods focalize on crack identification; however, a complete methodology to estimate the remaining life of a cracked structure is less developed. A methodology is presented in this paper drawing on concepts such as wavelets transform, dynamic structures, and vibration signals for crack identification; and fracture mechanics and nonlinear optimization to obtain the remaining life. Finite element theory was applied to obtain its vibration modes. The crack was modeled as a flexural spring connected to the elements in the crack position and the crack identification was performed in the wavelet domain. Nonlinear optimization techniques and fracture mechanics concepts were used to estimate the remaining fatigue life. A numerical-experimental case study is solved to show the fundamentals of this methodology.


Author(s):  
Natarajan Meghanathan ◽  
Alexander Roy Geoghegan

The high-level contribution of this book chapter is to illustrate how to conduct static code analysis of a software program and mitigate the vulnerabilities associated with the program. The automated tools used to test for software security are the Source Code Analyzer and Audit Workbench, developed by Fortify, Inc. The first two sections of the chapter are comprised of (i) An introduction to Static Code Analysis and its usefulness in testing for Software Security and (ii) An introduction to the Source Code Analyzer and the Audit Workbench tools and how to use them to conduct static code analysis. The authors then present a detailed case study of static code analysis conducted on a File Reader program (developed in Java) using these automated tools. The specific software vulnerabilities that are discovered, analyzed, and mitigated include: (i) Denial of Service, (ii) System Information Leak, (iii) Unreleased Resource (in the context of Streams), and (iv) Path Manipulation. The authors discuss the potential risk in having each of these vulnerabilities in a software program and provide the solutions (and the Java code) to mitigate these vulnerabilities. The proposed solutions for each of these four vulnerabilities are more generic and could be used to correct such vulnerabilities in software developed in any other programming language.


IEEE Access ◽  
2019 ◽  
Vol 7 ◽  
pp. 158931-158950 ◽  
Author(s):  
Umair Sabir ◽  
Farooque Azam ◽  
Sami Ul Haq ◽  
Muhammad Waseem Anwar ◽  
Wasi Haider Butt ◽  
...  

2008 ◽  
Vol 81 (3) ◽  
pp. 447-460 ◽  
Author(s):  
Georgia Frantzeskou ◽  
Stephen MacDonell ◽  
Efstathios Stamatatos ◽  
Stefanos Gritzalis
Keyword(s):  

Sign in / Sign up

Export Citation Format

Share Document