About
51
Publications
74,259
Reads
How we measure 'reads'
A 'read' is counted each time someone views a publication summary (such as the title, abstract, and list of authors), clicks on a figure, or views or downloads the full-text. Learn more
971
Citations
Introduction
Cherif Salama currently works at the Department of Computer Science and Engineering, The American University in Cairo (AUC). Cherif does research in Programming Languages, Computer Architecture, Computer Aided Design, Embedded Systems, GPU Computing, and Artificial Intelligence
Additional affiliations
August 2006 - May 2010
Publications
Publications (51)
Efficiently mapping threads to system cores is critical for achieving high performance and power efficiency in multicore systems. Conventional scheduling techniques do not take system heterogeneity and varying voltage/frequency states into account and therefore do not produce efficient mappings. Additionally, since thread behavior varies throughout...
The focus in this paper is on FPGA-based systems with processors communicating with interchangeable device boards using shared interfaces implementing protocols such as UART, SPI, and I2C. A design is proposed to allow the dynamic interface switching using Dynamic Partial Reconfiguration (DPR) in order to increase performance or reliability during...
Automatic Text Summarization (ATS) is becoming much more important because of the huge amount of textual content that grows exponentially on the Internet and the various archives of news articles, scientific papers, legal documents, etc. Manual text summarization consumes a lot of time, effort, cost, and even becomes impractical with the gigantic a...
Searching the Internet for a certain topic can become a daunting task because users cannot read and comprehend all the resulting texts. Automatic Text summarization (ATS) in this case is clearly beneficial because manual summarization is expensive and time-consuming. To enhance ATS for single documents, this paper proposes a novel extractive graph-...
A Self-Organizing Map (SOM) is a powerful tool for data analysis, clustering, and dimensionality reduction. It is an unsupervised artificial neural network that maps a set of n-dimensional vectors to a two-dimensional topographic map. Being unsupervised, SOMs need little input to be successfully deployed. The only inputs needed by a SOM are its own...
Gathering and processing large amounts of data is increasing every day. Record linkage is one of the most complex data-intensive tasks, which is used to accurately match records from different data sources that contain information about same entity like a person, especially when they do not share common identifier. As more resources in more than on...
Even though vehicular ad-hoc networks (VANETs) bring tremendous benefits to society, yet they raise many challenges where the security and privacy concerns are the most critical ones. In this paper, we provide a detailed overview of the state-of-the-art security and privacy requirements in VANET. Also, a brief of the approachesthat are proposed in...
WikiTrends is a new analytics framework for Wikipedia articles. It adds the temporal/spatial dimensions to Wikipedia to visualize the extracted information converting the big static encyclopedia to a vibrant one by enabling the generation of aggregated views in timelines or heat maps for any user-defined collection from unstructured text. Data mini...
Estimating the number of mispredictions is critically important for estimating the Worst-Case Execution Time for realtime systems. This paper generalizes and improves over previous attempts to provide a safe and tight mispredication count estimate for dynamic branch predictors. The paper gives closed formulas to compute mispredictions in case of si...
The university course timetabling problem (UCTP) is a combinatorial optimization problem of great importance for every university. This paper proposes the use of a parallel evolutionary algorithm to solve the problem and focuses on accelerating the process for specifically very large sized problems. The problem was solved using the genetic algorith...
Constructing a timetable is a widespread problem. Computers can be employed to solve this problem faster and to produce better solutions. Software solutions for this problem already exist and are used by some universities. However, some universities have complex types of constraints that make it hard to use most of the available software solutions....
Vehicular Cloud Computing (VCC) is an emerging technology that vehicle drivers use for different applications. VCC applications include Location-Based Service (LBS) applications, which require from the vehicles to send frequent location updates to LBS Providers for real-time services. Unfortunately, this may lead to tracking and identification of d...
Identifying objects of interest in a video sequence is a fundamental and essential part in many vision systems. A common method to achieve that goal is to perform background subtraction. For automated surveillance systems with multiple cameras, real-time background subtraction is particularly important. In this paper, we examine how to exploit GPU...
Software used in safety critical domains such as aviation and automotive has to be rigorously tested. Since exhaustive testing is not feasible, Modified Condition/Decision Coverage (MC/DC) has been introduced as an effective structural coverage alternative. However, studies have shown that complementing the test cases satisfying MC/DC to also satis...
Structural coverage criteria are employed in testing according to the criticality of the application domain. Modified Condition/Decision Coverage (MC/DC) comes highly recommended by multiple standards, including, ISO 26262 and DO-178C in the automotive and avionics industries respectively. Yet, it is time and effort consuming to construct and maint...
Structural testing is concerned with the internal structures of the written software. The targeted structural coverage criteria are usually based on the criticality of the application. Modified Condition/Decision Coverage (MC/DC) is a structural coverage criterion that was introduced to the industry by NASA. Also, MC/DC comes either highly recommen...
Electrowetting-on-dielectric chips are gaining momentum as efficient alternatives to conventional biochemical laboratories due to their flexibility and low power consumption. In this chapter, we present a novel two-stage metaheuristic algorithm to optimize electrode interconnect routing for pin-constrained chips. The first stage models channel rout...
The Verilog hardware description language has padding semantics that allow designers to write descriptions where wires of different bit widths can be interconnected. However, many such connections are nothing more than bugs inadvertently introduced by the designer and often result in circuits that behave incorrectly or use more resources than requi...
Modern hardware description languages support code generation constructs like generate/endgenerate in Verilog. These constructs are used to describe regular or parameterized hardware designs and, when used effectively, can make hardware descriptions shorter, more understandable, and more reusable. In practice, however, designers avoid these abstrac...
Cyber-physical systems comprise digital components that directly interact with a physical environment. Specifying the behavior desired of such systems requires analytical modeling of physical phenomena. Similarly, testing them requires simulation of continuous systems. While numerous tools support later stages of developing simulation codes, there...
The Verilog hardware description language has padding seman- tics that allow designers to write descriptions where wires of dif- ferent bit widths can be interconnected. However, many of these connections are nothing more than bugs inadvertently introduced by the designer and often result in circuits that behave incorrectly or use more resources th...
Modern hardware description languages support code-generation constructs like generate/endgenerate in Verilog. These con- structs are intended to describe regular or parameterized hardware designs and, when used effectively, can make hardware descrip- tions shorter, more understandable, and more reusable. In practice, however, designers avoid these...
Hardware description languages (HDL) suffer from inconsistencies between their simulation and synthesis semantics: A program successfully compiled and simulated might fail to synthesize. In this work, we propose the usage of statically typed two-level languages (STTL) to eliminate such inconsistencies. Languages like VHDL and Verilog have construct...
Combinatorial games of the form {{A|B}|{C|D}} can be classified as either left excitable, right excitable, or equitable (2). Sev- eral approximate strategies for playing sums of games of this form have been proposed in the literature (2-4). In this work we propose a new approach for evaluating the different strategies based on the types of the subg...
In this work, we investigate the potential of combining artificial intelligence (AI) tree-search algorithms with the algorithms of combinatorial game theory to provide more efficient strategies for playing sum games based on subgame types. Two new approximate strategies are developed and tested using a specified game model. Both strategies achieve...