Program Transformation
26,042 Followers
Recent papers in Program Transformation
Performing analysis across module boundaries for an entire program is important for exploiting several runtime performance opportunities. However, due to scalability problems in existing full-program analysis frameworks, such performance... more
The majority of security vulnerabilities published in the literature are due to software bugs. Many researchers have developed program transformation and analysis techniques to automatically detect or eliminate such vulnerabilities. So... more
Formal Methods has been proven to improve software quality and provide a method of systematic software construction. However, it has yet to gain widespread acceptance in the software industry. In this paper we look at the benefits to be... more
Introduction: Over the last years program analysis methods were widely used for software quality assurance. Different types of program analysis require various levels of program representation, analysis methods, etc. Platforms that... more
Introduction: Over the last years program analysis methods were widely used for software quality assurance. Different types of program analysis require various levels of program representation, analysis methods, etc. Platforms that... more
Modern software design practice implies widespread use in the development of ready-made components, usually designed as external libraries. The undoubted advantages of reusing third-party code can be offset by integration errors that... more
We present a framework for expressing bottom-up algorithms to compute the well-founded model of non-disjunctive logic programs. Our method is based on the notion of conditional facts and elementary program transformations studied by Brass... more
Identifying repetitive code changes benefits developers, tool builders, and researchers. Tool builders can automate the popular code changes, thus improving the productivity of developers. Researchers can better understand the practice of... more
Despite the enormous success that manual and automated refactoring has enjoyed during the last decade, we know little about the practice of refactoring. Understanding the refactoring practice is important for developers, refactoring tool... more
Adaptive MPI, or AMPI, is an implementation of the Message Passing Interface (MPI) standard. AMPI benefits MPI applications with features such as dynamic load balancing, virtualization, and checkpointing. Because AMPI uses multiple... more
A number of computational applications lack instruction-level parallelism. This loss is particularly acute on sequences of dependent instructions on wide-issue or deeply pipelined architectures. We consider four real applications from... more
The research also delves into the study of inter-trans-multidisciplinary scientific research as an overarching method to integrate multiple disciplines towards reconciliation, conflict transformation, and peace studies. It aims to... more
Most real-world applications inevitably face the issue of persistence, generally understood as how to design, maintain and interact with a database. The standard approach relies on the mature technology of relational databases, with... more
Novel approaches for dynamic information flow monitoring are promising since they enable permissive (accepting a large subset of executions) yet sound (rejecting all unsecure executions) enforcement of non-interference. In this paper, we... more
Symbolic computation is an important approach in automated program analysis. Most state-of-the-art tools perform symbolic computation as interpreters and directly maintain symbolic data. In this paper, we show that it is feasible, and in... more
This paper presents the transformation of OpenMP source code to a Macro-Task Graph, an internal representation of the parallel program as a collection of tasks, which later can be asynchronously scheduled for out-of-order execution and... more
Analysis of program running time is important for several applications, including reactive systems, interactive environments, compiler optimizations and performance evaluation. Automatic and efficient prediction of accurate time bounds is... more
This paper provides a un,fying mathematical proof which replaces a mechanical certification of the optimal paraiieiization of sorting networks on a case by case basis. Paraiielization of sequentiai program traces by means of a... more
This paper presents a catalog of code refactorings that are intended to improve different quality attributes of Fortran programs. We classify the refactorings according to their purpose, that is, the internal or external quality... more
We study the existence and the characterization of function transformers that minimally or maximally modify a function in order to reveal or conceal a certain property. Based on this general formal framework we develop a strategy for the... more
Metamorphic malware apply semantics-preserving transformations to their own code in order to foil detection systems based on signature matching. In this paper we consider the problem of automatically extract metamorphic signatures from... more
In a typical client-server scenario, a trusted server provides valuable services to a client, which runs remotely on an untrusted platform. Of the many security vulnerabilities that may arise (such as authentication and authorization),... more
A Higher Order Method for Determining Nonisolated Solutions of a System of Nonlinear Equations. In this note, we obtain a method of order at least four to solve a singular system of nonlinear algebraic equations. This is achieved by... more
We present a comparative evaluation of some generalization strategies which are applied by a method for the automated verification of infinite state reactive systems. The verification method is based on (1) the specialization of the... more
Die Dokumente auf EconStor dürfen zu eigenen wissenschaftlichen Zwecken und zum Privatgebrauch gespeichert und kopiert werden. Sie dürfen die Dokumente nicht für öffentliche oder kommerzielle Zwecke vervielfältigen, öffentlich ausstellen,... more
We present an approach for the static detection of possible assertion violations in Java. The main idea is to use an existing test-case generator in combination with a new program transformation. A possible assertion violation is... more
Аннотация. Расширение числа и ассортимента компонентов программного обеспечения в значительной степени подчеркивает необходимость защиты прав интеллектуальной собственности (IPR), затрудняемую компьютерным пиратством, для борьбы с которым... more
Formal methods and testing are two important approaches that assist in the development of high-quality software. While traditionally these approaches have been seen as rivals, in recent years a new consensus has developed in which they... more
The goal of knowledge compilation is to transform programs in order to speed up their evaluation. In Inductive Logic Programming, two major approaches to speed-up learning exist: Approaches that intertwine the learning and the... more
The Revised 6 Report on Scheme introduces three fundamental changes involving Scheme's recursive variable binding constructs. First, it standardizes the sequential recursive binding construct, letrec*, which evaluates its initialization... more
We present a very general language for expressing tactic programs. The paper describes some essential tactic combinators (tacticals), and gives them a formal semantics. Those definitions are used to produce a complete calculus for... more
We describe reformation, a new algorithm for the automated repair of faulty logical theories. A fault is revealed by a reasoning failure: either the proof of a false conjecture or the failure to prove a true conjecture. Repair suggestions... more
The Unified Modeling Language (UML) is gaining wide acceptance in industry and we, at Siemens Corporate Research, are seeking ways in which UML diagrams can be used as the basis for functional testing. Our approach focuses on developing... more
The startup phase of an application represents a tiny fraction of the total runtime, but it is considered, nevertheless, a critical phase for both client and server environments. In the JVM, the Just-in-Time compiler (JIT) translates Java... more
The first task in that proposal was to develop an external module for implementing tabling primitives that provide direct control over the search strategy. ® The external module will serve as the basis to study how tabling interacts with... more
This study aims to determine the environmental management model in coastal areas based on ecosystems; Al-Khairat Islamic Boarding School in Central Sulawesi, Case Study. Optimizing environmental conservation is done through many factors,... more
This work has been partially supported by the EU (FEDER) and the Spanish MEC/MICINN under grants TIN2005-09207-C03-02, TIN2008-06622-C03-02, and Acción Integrada HA2006-0008, by SES-ANUIES and by DGEST (México). 3 We consider the usual... more
We present a characterization of first-order functional programs which are quasiterminating w.r.t. the symbolic execution mechanism of needed narrowing, i.e., computations in these programs consist of a sequence of finitely many different... more
We address the problem of verifying that the functions of a program meet their contracts, specified by pre/postconditions. We follow an approach based on constrained Horn clauses (CHCs) by which the verification problem is reduced to the... more
We present a method for verifying the correctness of imperative programs which is based on the automated transformation of their specifications. Given a program prog, we con-sider a partial correctness specification of the form {ϕ} prog... more
Abstract. In this paper we present an overview of the unfold/fold proof method, a method for prov-ing theorems about programs, based on program transformation. As a metalanguage for specifying programs and program properties we adopt... more
We present a method for verifying the correctness of an imperative program with respect to a specification defined in terms of a set of possibly recursive Horn clauses. Given a program prog, we consider a partial correctness specification... more