Affine Modeling of Program Traces
Use this link to citehttp://hdl.handle.net/2183/21733
- GI-GAC - Artigos 
MetadataShow full item record
TitleAffine Modeling of Program Traces
G. Rodríguez, M. T. Kandemir and J. Touriño, "Affine Modeling of Program Traces," in IEEE Transactions on Computers, vol. 68, no. 2, pp. 294-300, 1 Feb. 2019. doi: 10.1109/TC.2018.2853747 , URL: http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=8408540&isnumber=8611233
[Abstract] A formal, high-level representation of programs is typically needed for static and dynamic analyses performed by compilers. However, the source code of target applications is not always available in an analyzable form, e.g., to protect intellectual property. To reason on such applications it becomes necessary to build models from observations of its execution. This paper presents an algebraic approach which, taking as input the trace of memory addresses accessed by a single memory reference, synthesizes an affine loop with a single perfectly nested statement that generates the original trace. This approach is extended to support the synthesis of unions of affine loops, useful for minimally modeling traces generated by automatic transformations of polyhedral programs, such as tiling. The resulting system is capable of processing hundreds of gigabytes of trace data in minutes, minimally reconstructing 100 percent of the static control parts in PolyBench/C applications and 99.9 percent in the Pluto-tiled versions of these benchmarks.
This is a post-peer-review, pre-copyedit version of an article published in IEEE Transactions on Computers. The final authenticated version is available online at: http://dx.doi.org/10.1109/TC.2018.2853747