SearcharxivSearch

arXiv subjects

Hamid A. Toussi

Publications and source records attributed to Hamid A. Toussi.

3 recordsLinked to original sources

tym: Typed Matlab

Although, many scientists and engineers use Octave or MATLAB as their preferred programming language, dynamic nature of these languages can lead to slower running-time of programs written in these languages compared to programs written in languages which are not as dynamic, like C, C++ and Fortran. In this work we developed a translator for a new programming language (tym) which tries to address performance issues, common in scientific programs, by adding new constructs to a subset of Octave/MATLAB language. Our translator compiles programs written in tym, to efficient C++ code.

cs.PL

Design, Implementation and Evaluation of MTBDD based Fuzzy Sets and Binary Fuzzy Relations

For fast and efficient analysis of large sets of fuzzy data, elimination of redundancies in the memory representation is needed. We used MTBDDs as the underlying data-structure to represent fuzzy sets and binary fuzzy relations. This leads to elimination of redundancies in the representation, less computations, and faster analyses. We have also extended a BDD package (BuDDy) to support MTBDDs in general and fuzzy sets and relations in particular. Different fuzzy operations such as max, min and max-min composition were implemented based on our representation. Effectiveness of our representation is shown by applying it on fuzzy connectedness and image segmentation problem. Compared to a base implementation, the running time of our MTBDD based implementation was faster (in our test cases) by a factor ranging from 2 to 27. Also, when the MTBDD based data-structure was employed, the memory needed to represent the final results was improved by a factor ranging from 37.9 to 265.5.

cs.DS

Improving bit-vector representation of points-to sets using class hierarchy

Points-to analysis is the problem of approximating run-time values of pointers statically or at compile-time. Points-to sets are used to store the approximated values of pointers during points-to analysis. Memory usage and running time limit the ability of points-to analysis to analyze large programs. To our knowledge, works which have implemented a bit-vector representation of points-to sets so far, allocates bits for each pointer without considering pointer's type. By considering the type, we are able to allocate bits only for a subset of all abstract objects which are of compatible type with the pointer's type and as a consequence improve the memory usage and running time. To achieve this goal, we number abstract objects in a way that all the abstract objects of a type and all of its sub-types be consecutive in order. Our most efficient implementation uses about 2.5 times less memory than hybrid points-to set (default points-to set in Spark) and also improves the analysis time for sufficiently large programs.

cs.PL