Search NASA⌕ Search

SEARCH · Search NASA

Results for “Program Transformation”

Search indexed NASA NTRS and DOE OSTI research on propulsion, heat transfer, battery materials and energy systems. Follow report and document links to the original sources.

Quote a phrase for an exact phrase match. Source license links do not imply unrestricted reuse.

At least 37 records · Page 2

Knowledge based programming environments: A perspective

Programming environments is an area of recent origin and refers to an integrated set of tools, such as program library, text editor, compiler, and debugger, in support of program development. Understanding of programs and programming has lead to automated techniques for program development. Knowledge based programming system using program transformations offer significant impact on future program development methodologies. A review of recent developments in the area of knowledge based programming environments, from the perspective of software engineering, is presented.

Amin, Ashok T.↗

THREED: A computer program for three dimensional transformation of coordinates

Program THREED was developed for the purpose of a research study on the treatment of control data in lunar phototriangulation. THREED is the code name of a computer program for performing absolute orientation by the method of three-dimensional projective transformation. It has the capability of performing complete error analysis on the computed transformation parameters as well as the transformed coordinates.

Wong, K. W.↗

A Framework for the Analysis of Compiler Optimizations

Compilers transform program source code to machine executable code. During this transformation, they perform a number of compiler optimizations to improve the performance of the generated executable code. Importantly, applying those optimizations depends on the source code structure, such as the parallel programming model used to parallelize an algorithm. Often, implementations of the same algorithm with different programming models have vastly different performance because the compiler optimized them differently. We create FAROS, a framework to structure and automate the analysis of compiler optimizations on programs. FAROS automates the building process, execution profiling, and analysis of compiler optimization of programs, through a configuration interface. It outputs compiler optimization reports to show which optimizations applied to which line of source code, leveraging compilation remarks output by the compiler. Also, FAROS supports benchmarking performance of different program versions by collecting execution time results. In this first release of FAROS, we provide a configuration file to analyze compiler optimization differences for sequential vs OpenMP compilation, including 38 programs consisting of HPC proxy/mini/large applications, and NAS and Rodina kernels for analysis.

Georgakoudis, Giorgis↗

Realizing Aspects by Transforming for Events

We explore the extent to which concerns can be separated in programs by program transformation with respect to the events required by these concerns. We describe our early work on developing a system to perform event-driven transformation and discuss possible applications of this approach.

Filman, Robert E.↗

AstraAI v1

AstraAI is an open-source, structure-aware AI coding agent designed for large scientific and DOE-HPC codebases such as AMReX-based applications. Unlike general-purpose coding assistants, AstraAI combines retrieval-augmented generation (RAG) with compiler-level Abstract Syntax Tree (AST) analysis to perform precise, scope-constrained code modifications. It identifies exact function spans, enforces locality of edits, and maintains cross-file invariants, enabling deterministic and build-safe transformations in complex C++/GPU environments. AstraAI is intended for developers working on large, evolving HPC frameworks where correctness, reproducibility, and structural integrity are critical. Typical use cases include modifying physics kernels, updating GPU device lambdas, and performing multi-file refactors without breaking compilation or runtime semantics. Compared to conventional LLM-based coding agents - even those with repository access - AstraAI provides structural guarantees rather than free-form text patches. It minimizes unintended diffs, prevents scope drift, preserves formatting and build stability, and reduces structural hallucinations. By integrating compiler tooling directly into the generation loop, AstraAI transforms AI-assisted coding from probabilistic text editing into deterministic, structure-preserving program transformation suitable for mission-critical scientific software.

Natarajan, Mahesh [Lawrence Berkeley National Labo↗

Dynamic Optimization

We distinguish static and dynamic optimization of programs: whereas static optimization modifies a program before runtime and is based only on its syntactical structure, dynamic optimization is based on the statistical properties of the input source and examples of program execution. Explanation-based generalization is a commonly used dynamic optimization method, but its effectiveness as a speedup-learning method is limited, in part because it fails to separate the learning process from the program transformation process. This paper describes a dynamic optimization technique called a learn-optimize cycle that first uses a learning element to uncover predictable patterns in the program execution and then uses an optimization algorithm to map these patterns into beneficial transformations. The technique has been used successfully for dynamic optimization of pure Prolog.

Laird, Philip↗

Semi-automatic process partitioning for parallel computation

On current multiprocessor architectures one must carefully distribute data in memory in order to achieve high performance. Process partitioning is the operation of rewriting an algorithm as a collection of tasks, each operating primarily on its own portion of the data, to carry out the computation in parallel. A semi-automatic approach to process partitioning is considered in which the compiler, guided by advice from the user, automatically transforms programs into such an interacting task system. This approach is illustrated with a picture processing example written in BLAZE, which is transformed into a task system maximizing locality of memory reference.

Koelbel, Charles↗

The ParaScope parallel programming environment

The ParaScope parallel programming environment, developed to support scientific programming of shared-memory multiprocessors, includes a collection of tools that use global program analysis to help users develop and debug parallel programs. This paper focuses on ParaScope's compilation system, its parallel program editor, and its parallel debugging system. The compilation system extends the traditional single-procedure compiler by providing a mechanism for managing the compilation of complete programs. Thus, ParaScope can support both traditional single-procedure optimization and optimization across procedure boundaries. The ParaScope editor brings both compiler analysis and user expertise to bear on program parallelization. It assists the knowledgeable user by displaying and managing analysis and by providing a variety of interactive program transformations that are effective in exposing parallelism. The debugging system detects and reports timing-dependent errors, called data races, in execution of parallel programs. The system combines static analysis, program instrumentation, and run-time reporting to provide a mechanical system for isolating errors in parallel program executions. Finally, we describe a new project to extend ParaScope to support programming in FORTRAN D, a machine-independent parallel programming language intended for use with both distributed-memory and shared-memory parallel computers.

Cooper, Keith D.↗

RECOZ data reduction and analysis: Programs and procedures

The RECOZ data reduction programs transform data from the RECOZ photometer to ozone number density and overburden as a function of altitude. Required auxiliary data are the altitude profile versus time and for appropriate corrections to the ozone cross sections and scattering effects, air pressure and temperature profiles. Air temperature and density profiles may also be used to transform the ozone density versus geometric altitude to other units, such as to ozone partial pressure or mixing ratio versus pressure altitude. There are seven programs used to accomplish this: RADAR, LISTRAD, RAW OZONE, EDIT OZONE, MERGE, SMOOTH, and PROFILE.

Reed, E. I.↗

Towards High-Assurance High-Performance Program Synthesis

Domain-specific automatic program synthesis tools, also called application generators, are playing an ever-increasing role in software development. However, high-performance application generators require difficult manual construction, and are very difficult to verify correct. This paper describes research and an implemented system that transforms program synthesis tools based on deductive synthesis into high-performance application generators. Deductive synthesis uses theorem-proving to construct solutions when given problem specifications. The verification condition for a deductive synthesis tool is essentially the soundness of the implemented inference rules. Theory Operationalization for Program Synthesis (TOPS) synergistically combines reformulation, automated mathematical classification, and compilation through partial deduction to decision procedures. It transforms general-purpose deductive synthesis, with exponential performance, into efficient special-purpose deductive synthesis, with near-linear performance. This paper describes our experience with and empirical results of PD(TH) theory-based partial deduction - in which partial deduction of a set of first-order formulae is performed within the context of a background theory. The implemented TOPS system currently performs a special variant of PD(TH) in which the compilation process results in the transformation of a set of first order formulae into the theory of an instantiated library decision procedure augmented by a compiled unit theory.

Lowry, Michael↗

Design principles for an interactive program derivation system

The main design principles of an interactive program transformation system called FOCUS are outlined. Its important characteristics are its human-oriented deduction techniques based replacement, emphasis on small search spaces, and the use of a tree structure to organize program derivations. The tree structure presents to the user a static picture of the derivation process and promotes flexibility in the development of derivations. The system keeps track of dependencies between different parts of derivations, and records the derivation activity for later use in automatic replay.

Reddy, Uday S.↗

Challenges and Recommended Policies for Simultaneous Global Implementation of Low-GWP Refrigerants and High Efficiency in Room Air Conditioners

Increasing incomes, electrification, and urbanization—as well as a warming world—are driving up the global stock of air conditioners (ACs), particularly in emerging economies with hot climates. AC energy consumption is expected to increase substantially as the global stock of room ACs rises to 1.5 billion in 2030 and 2.5 billion in 2050. Hence, improving AC energy efficiency will be critical to reducing AC energy, cost (consumer lifecycle cost, electricity generation cost, etc.), peak load, and emissions impacts. The 2016 Kigali Amendment to the Montreal Protocol offers an opportunity to improve AC energy efficiency in tandem with the phasedown of high global warming potential (GWP) hydrofluorocarbon (HFC) refrigerants. Based on the most recent information, a literature review, and interviews with manufacturers and industry experts, we find the main barriers to deploying high-efficiency ACs include concerns about market demand and cost, which could be mitigated by appropriately improved design of market-transformation programs such as standards and labeling, incentive, and procurement programs. The main barriers to the low-GWP refrigerant transition include the need for timely revision of safety standards and associated costs for capacity-building activities allowing safe use of low-GWP refrigerants in ACs. Policy action and the market transformation can be accelerated by advancing the refrigerant transition and efficiency improvements in parallel.

32 ENERGY CONSERVATION, CONSUMPTION, AND UTILIZATI↗

Trends in best-in-class energy-efficient technologies for room air conditioners

Improving the efficiency of room air conditioners (RACs) could provide significant energy and associated emissions savings, particularly in emerging economies with hot climates where the cooling demand is expected to increase dramatically. To help accelerate efficiency improvements, this study identifies “best-in-class” high-efficiency RAC components and products. The findings show that manufacturers tend to minimize manufacturing costs by using RAC designs that are readily available or standardized to their production, and they share components across various models. High-efficiency RAC models use advanced compressor technologies optimized at a low frequency, large heat exchangers with thermodynamically effective materials and designs, highly efficient direct current fan motors, advanced metering devices, and smart sensors for temperature and humidity control. Recently RAC manufacturers have been improving seasonal efficiency – better reflecting part-load operation – especially via variable-speed (inverter) drives for compressor motors. Recent highest-efficiency RAC models use low global warming potential (GWP) refrigerants, having transitioned from conventional high-GWP refrigerants, in regions where RACs that use these low-GWP refrigerants are commercially available. Recently demonstrated innovative technologies show trends toward smart hybrid designs, evaporative cooling, and solid-state materials beyond the conventional vapor-compression technology. This information could help policymakers improve their RAC market-transformation programs to align with the most-efficient global technology.

32 ENERGY CONSERVATION, CONSUMPTION, AND UTILIZATI↗

Compile-time estimation of communication costs in multicomputers

An important problem facing numerous research projects on parallelizing compilers for distributed memory machines is that of automatically determining a suitable data partitioning scheme for a program. Any strategy for automatic data partitioning needs a mechanism for estimating the performance of a program under a given partitioning scheme, the most crucial part of which involves determining the communication costs incurred by the program. A methodology is described for estimating the communication costs at compile-time as functions of the numbers of processors over which various arrays are distributed. A strategy is described along with its theoretical basis, for making program transformations that expose opportunities for combining of messages, leading to considerable savings in the communication costs. For certain loops with regular dependences, the compiler can detect the possibility of pipelining, and thus estimate communication costs more accurately than it could otherwise. These results are of great significance to any parallelization system supporting numeric applications on multicomputers. In particular, they lay down a framework for effective synthesis of communication on multicomputers from sequential program references.

Gupta, Manish↗

Solar radiometry at millimeter wavelengths

In the area of resolution enhancement, the use of Fast Fourier Transform programs was investigated for possible application to millimeter wavelength maps of the sun. A difficulty arises with the La Posta maps in that they are limited to 35 arc-minutes square while the smeared out solar image is larger than that. A list of possible cometary emission lines near 13 millimeters is presented. Although preparation of the list was inspired by the appearance of Comet Kohoutek, the results are applicable to any future comet. The brightness temperature of the sun at 8.6 millimeters was measured using the moon as a calibration source. The result does not confirm a deep absorption feature as apparently observed by earlier workers.

Henze, W.↗

A survey of functional programming language principles

Research in the area of functional programming languages has intensified in the 8 years since John Backus' Turing Award Lecture on the topic was published. The purpose of this paper is to present a survey of the ideas of functional programming languages. The paper assumes the reader is comfortable with mathematics and has knowledge of the basic principles of traditional programming languages, but does not assume any prior knowledge of the ideas of functional languages. A simple functional language is defined and used to illustrate the basic ideas. Topics discussed include the reasons for developing functional languages, methods of expressing concurrency, the algebra of functional programming languages, program transformation techniques, and implementations of functional languages. Existing functional languages are also mentioned. The paper concludes with the author's opinions as to the future of functional languages. An annotated bibliography on the subject is also included.

Holloway, C. M.↗