Alternative splicing has recently emerged as a major mechanism of regulation in the human genome, occurring in perhaps 40-60% of human genes. Thus, microarray studies of functional regulation could, in principle, be extended to detect not only the changes in the overall expression of a gene, but also changes in its splicing pattern between different tissues. However, since changes in the total expression of a gene and changes in its alternative splicing can be mixed in complex ways among a set of samples, separating these effects can be difficult, and is essential for their accurate assessment. We present a simple and general approach for distinguishing changes in alternative splicing from changes in expression, based on detecting systematic anti-correlation between the log-ratios of two different samples versus a pool containing both samples. We have tested this analysis method on microarray data for five human tissues, generated using a standard microarray platform and experimental protocols shown previously to be sensitive to alternative splicing. Our automatic analysis was able to detect a wide variety of tissue-specific alternative splicing events, such as exon skipping,mutually exclusive exons, alternative 3' and alternative 5' splicing, alternative initiation and alternative termination, all of which were validated by independent reverse-transcriptase PCR experiments, with validation rates of 70-85%. Our analysis method also enables hierarchical clustering of genes and samples by the level of similarity to their alternative splicing patterns, revealing patterns of tissue-specific regulation that are distinct from those obtained by hierarchical clustering of gene expression from the same microarray data. Our data and analysis source code are available from http://www.bioinformatics.ucla.edu/ASAP.