Demonstration venue · read-only. Every page can be browsed; the buttons that would change it are switched off. Create an account to run TaxoReview on your own data. A simulation from public publication records: the people listed were not invited and did not agree to review.
? Tutorial for this page

Michael I. Gordon

dblp:69/4456 · DBLP profile ↗
← Back
4ranked-venue papers
3as first author
0since 2021 · last 2015
—ORCID · none

Domains — the database's venue-derived domains; a paper can count in several

Software engineering, systems software and programming languages · 3 · 2 first-authorSystems, architecture and hardware · 2 · 2 first-authorSecurity and privacy · 1 · 1 first-author

Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.

Network and information security
2 papers
Network security · 50% Systems and software security · 25% Web and mobile security · 25%
Software engineering, system software, and programming languages
4 papers
Compilers and program optimization · 60% Program analysis · 40%
Computer architecture, parallel and distributed computing, and storage systems
2 papers
Parallel and multicore computing · 80% Processor architecture and microarchitecture · 20%

Topics — the 11 heaviest of 11, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Web and mobile security › mobile security
android application analysis
0.212015
Information Flow Analysis of Android Applications in DroidSafe · NDSS 2015
Network security › intrusion detection and prevention
covert channel detection
0.212015
Covert Communication in Mobile Applications (T) · ASE 2015
Systems and software security › information flow control
information flow analysis
0.212015
Information Flow Analysis of Android Applications in DroidSafe · NDSS 2015
Network security
traffic analysis
0.212015
Covert Communication in Mobile Applications (T) · ASE 2015
Program analysis
static analysis
0.122015
Information Flow Analysis of Android Applications in DroidSafe · NDSS 2015
Covert Communication in Mobile Applications (T) · ASE 2015
Compilers and program optimization
parallelizing compiler
0.122006
Exploiting coarse-grained task, data, and pipeline parallelism in stream programs · ASPLOS 2006
A stream compiler for communication-exposed architectures · ASPLOS 2002
Compilers and program optimization › domain-specific compilation
stream compiler
0.122006
Exploiting coarse-grained task, data, and pipeline parallelism in stream programs · ASPLOS 2006
A stream compiler for communication-exposed architectures · ASPLOS 2002
Parallel and multicore computing › parallel programming models
stream programming
0.122006
Exploiting coarse-grained task, data, and pipeline parallelism in stream programs · ASPLOS 2006
A stream compiler for communication-exposed architectures · ASPLOS 2002
Parallel and multicore computing › parallelization strategies
coarse-grained parallelism
0.112006
Exploiting coarse-grained task, data, and pipeline parallelism in stream programs · ASPLOS 2006
Processor architecture and microarchitecture
chip multiprocessor
0.022006
Exploiting coarse-grained task, data, and pipeline parallelism in stream programs · ASPLOS 2006
A stream compiler for communication-exposed architectures · ASPLOS 2002
Processor architecture and microarchitecture
tiled architecture
0.012002
A stream compiler for communication-exposed architectures · ASPLOS 2002

Methods — techniques the papers use, named apart from their topics

static information flow analysis · 0.4static analysis · 0.4communication pattern analysis · 0.4static scheduling · 0.2fission and fusion transformations · 0.2graph layout · 0.1
YearPublicationVenuePosition
2015 Covert Communication in Mobile Applications (T)
abstract
This paper studies communication patterns in mobile applications. Our analysis shows that 63% of the external communication made by top-popular free Android applications from Google Play has no effect on the user-observable application functionality. To detect such covert communication in an efficient manner, we propose a highly precise and scalable static analysis technique: it achieves 93% precision and 61% recall compared to the empirically determined "ground truth", and runs in a matter of a few minutes. Furthermore, according to human evaluators, in 42 out of 47 cases, disabling connections deemed covert by our analysis leaves the delivered application experience either completely intact or with only insignificant interference. We conclude that our technique is effective for identifying and disabling covert communication. We then use it to investigate communication patterns in the 500 top-popular applications from Google Play.
Julia Rubin, Michael I. Gordon, Nguyen Nguyen 0002, Martin C. Rinard
ASE2
2015 Information Flow Analysis of Android Applications in DroidSafe
Michael I. Gordon, Deokhwan Kim, Jeff H. Perkins, Limei Gilham, Nguyen Nguyen 0002, Martin C. Rinard
NDSS1
2006 Exploiting coarse-grained task, data, and pipeline parallelism in stream programs
abstract
As multicore architectures enter the mainstream, there is a pressing demand for high-level programming models that can effectively map to them. Stream programming offers an attractive way to expose coarse-grained parallelism, as streaming applications (image, video, DSP, etc.) are naturally represented by independent filters that communicate over explicit data channels.In this paper, we demonstrate an end-to-end stream compiler that attains robust multicore performance in the face of varying application characteristics. As benchmarks exhibit different amounts of task, data, and pipeline parallelism, we exploit all types of parallelism in a unified manner in order to achieve this generality. Our compiler, which maps from the StreamIt language to the 16-core Raw architecture, attains a 11.2x mean speedup over a single-core baseline, and a 1.84x speedup over our previous work.
Michael I. Gordon, William Thies, Saman P. Amarasinghe
ASPLOS1
2002 A stream compiler for communication-exposed architectures
abstract
With the increasing miniaturization of transistors, wire delays are becoming a dominant factor in microprocessor performance. To address this issue, a number of emerging architectures contain replicated processing units with software-exposed communication between one unit and another (e.g., Raw, SmartMemories, TRIPS). However, for their use to be widespread, it will be necessary to develop compiler technology that enables a portable, high-level language to execute efficiently across a range of wire-exposed architectures.In this paper, we describe our compiler for StreamIt: a high-level, architecture-independent language for streaming applications. We focus on our backend for the Raw processor. Though StreamIt exposes the parallelism and communication patterns of stream programs, some analysis is needed to adapt a stream program to a software-exposed processor. We describe a partitioning algorithm that employs fission and fusion transformations to adjust the granularity of a stream graph, a layout algorithm that maps a stream graph to a given network topology, and a scheduling strategy that generates a fine-grained static communication pattern for each computational element.We have implemented a fully functional compiler that parallelizes StreamIt applications for Raw, including several load-balancing transformations. Using the cycle-accurate Raw simulator, we demonstrate that the StreamIt compiler can automatically map a high-level stream abstraction to Raw without losing performance. We consider this work to be a first step towards a portable programming model for communication-exposed architectures.
Michael I. Gordon, William Thies, Michal Karczmarek, Jasper Lin, Ali S. Meli, Andrew A. Lamb, Chris Leger, Jeremy Wong, Henry Hoffmann, David Maze, Saman P. Amarasinghe
ASPLOS1