Cherif Salama

Cherif Salama
The American University in Cairo | AUC · Department of Computer Science and Engineering

PhD

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
Rice University
Position
  • PhD Student

Publications

Publications (51)
Article
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...
Conference Paper
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...
Article
Full-text available
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...
Article
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-...
Chapter
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...
Article
Full-text available
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...
Article
Full-text available
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...
Article
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...
Article
Full-text available
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...
Conference Paper
Full-text available
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...
Conference Paper
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....
Conference Paper
Full-text available
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...
Conference Paper
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...
Article
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...
Article
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...
Conference Paper
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...
Chapter
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...
Article
Full-text available
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...
Article
Full-text available
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...
Conference Paper
Full-text available
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...
Conference Paper
Full-text available
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...
Conference Paper
Full-text available
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...
Conference Paper
Full-text available
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...
Conference Paper
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...
Article
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...

Network

Cited By