In this paper, we present ParSim, a software tool designed for modeling parallel applications. The tool reproduces a workload, including its parallel characteristics specified by the users, on the target multicore or multiCPU system, and analyzes the collected data. The objective of ParSim is to close the gap between the 'generalized' benchmarks, designed for conventional system architectures, and the peculiar needs of parallel environments based on multicore systems. A simple language for the description of parallel features of an application and specific analysis techniques are provided. We present the working context and principles of ParSim, its architecture and its features, and validate our tool through its application on a case study.