Program analysis techniques for transforming programs for parallel execution

2002 ◽  
Vol 28 (3) ◽  
pp. 455-469 ◽  
Author(s):  
Kleanthis Psarris
2008 ◽  
Vol 18 (01) ◽  
pp. 23-37 ◽  
Author(s):  
CLEMENS GRELCK ◽  
STEFFEN KUTHE ◽  
SVEN-BODO SCHOLZ

We propose a novel execution model for the implicitly parallel execution of data parallel programs in the presence of general I/O operations. This model is called hybrid because it combines the advantages of the standard execution models fork/join and SPMD. Based on program analysis the hybrid model adapts itself to one or the other on the granularity of individual instructions. We outline compilation techniques that systematically derive the organization of parallel code from data flow characteristics aiming at the reduction of execution mode switches in general and synchronization/communication requirements in particular. Experiments based on a prototype implementation show the effectiveness of the hybrid execution model for reducing parallel overhead.


Author(s):  
Hira Agrawal ◽  
James Alberi ◽  
Lisa Bahler ◽  
William Conner ◽  
Josephine Micallef ◽  
...  

2006 ◽  
Vol 13 (10) ◽  
Author(s):  
Christian Kirkegaard ◽  
Anders Møller

We present an approach for statically reasoning about the behavior of Web applications that are developed using Java Servlets and JSP. Specifically, we attack the problems of guaranteeing that all output is well-formed and valid XML and ensuring consistency of XHTML form fields and session state. Our approach builds on a collection of program analysis techniques developed earlier in the JWIG and X<small>ACT</small> projects, combined with work on balanced context-free grammars. Together, this provides the necessary foundation concerning reasoning about output streams and application control flow.


2014 ◽  
Vol 11 (1) ◽  
pp. 1-27
Author(s):  
Feng Chen ◽  
Da Tang ◽  
Hongji Yang ◽  
Mohammed Alawairdhi

Workflow management systems (WfMSs) become the basic technology for organizations to build their Information Systems. To understand the business processes already implemented in the existing software systems and then build the workflow oriented Information System is a time-consuming and error prone process. This paper proposes a unified software reengineering approach from a business process perspective. A workflow extraction method is developed to elicit the business processes from existing systems. A precondition-based workflow model is designed for this purpose, which is an activity-centred method for program analysis. The calculation of the activity?s whole condition provides powerful analysis techniques to verify the correctness of the recovered workflow model. Through the proposed approach, the workflow procedures can be recovered from the existing system and verified by the precondition analysis.


2020 ◽  
Author(s):  
Maria Paquin

Benchmark programs are an integral part of program analysis research. Researchers use benchmark programs to evaluate existing techniques and test the feasibility of new approaches. The larger and more realistic the set of benchmarks, the more confident a researcher can be about the correctness and reproducibility of their results. However, obtaining an adequate set of benchmark programs has been a long-standing challenge in the program analysis community. In this thesis, we present the APT tool, a framework we designed and implemented to automate the generation of realistic benchmark programs suitable for program analysis evaluations. Our tool targets intra-procedural analyses that operate on an integer domain, specifically symbolic execution. The framework is composed of three main stages. In the first stage, the tool extracts potential benchmark programs from open-source repositories suitable for symbolic execution. In the second stage, the tool transforms the extracted programs into compilable, stand-alone benchmarks by removing external dependencies and nonlinear expressions. In the third stage, the benchmarks are verified and made available for the user. We have designed our transformation algorithms to remove program dependencies and nonlinear expressions while preserving their semantics-equivalence in the abstraction of symbolic analysis. That is, we want the information the analysis computes on the original program and its transformed version to be equivalent. Our work provides static analysis researchers with concise, compilable benchmark programs that are relevant to symbolic execution, allowing them to focus their efforts on advancing analysis techniques. Furthermore, our work benefits the software engineering community by enabling static analysis researchers to perform benchmarking with a large, realistic set of programs, thus strengthening the empirical evidence of the advancements in static program analysis.


2019 ◽  
Vol 53 ◽  
pp. 38-52 ◽  
Author(s):  
Amirabbas Majd ◽  
Mojtaba Vahidi-Asl ◽  
Alireza Khalilian ◽  
Ahmad Baraani-Dastjerdi ◽  
Bahman Zamani

Sign in / Sign up

Export Citation Format

Share Document