One vision for program synthesis, and specifically for programming by example (PBE), is an interactive programmer's assistant, integrated into the development environment. To make program synthesis practical for interactive use, prior work on Small-Step Live PBE has proposed to limit the scope of synthesis to small code snippets, and enable the users to provide local specifications for those snippets. This paradigm, however, does not work well in the presence of loops. We present LooPy, a synthesizer integrated into a live programming environment, which extends Small-Step Live PBE to work inside loops and scales it up to synthesize larger code snippets, while remaining fast enough for interactive use. To allow users to effectively provide examples at various loop iterations, even when the loop body is incomplete, LooPy makes use oflive execution, a technique that leverages the programmer as an oracle to step over incomplete parts of the loop. To enable synthesis of loop bodies at interactive speeds, LooPy introducesIntermediate State Graph, a new data structure, which compactly represents a large space of code snippets composed of multiple assignment statements and conditionals. We evaluate LooPy empirically using benchmarks from competitive programming and previous synthesizers, and show that it can solve a wide variety of synthesis tasks at interactive speeds. We also perform a small qualitative user study which shows that LooPy'sblock-levelspecifications are easy for programmers to provide.
more »
« less
Function Extraction: A New Paradigm for Producing Secure Code
Function Extraction (FX) is a new and evolving paradigm for the production of secure computer codes. It is, in effect, the inverse of formal verification as it analyzes code to produce a mathematical specification of its behavior. This has the potential for identifying unwanted or unexpected behaviors and has the potential for analyzing unknown or “found” code artifacts such as malware. The effort is enabled by recent developments in loop analysis that allow invariant relations to be developed for loop bodies enabling the loop function to be discovered. The paper defines program behavior as a mathematical description of the effects of program execution on the environment in which the program runs and continues with a discussion of its current status. As FX is an evolving paradigm, areas in which work remains to be done are discussed and examples of the results of two prototype analyzers are given. The paper concludes with a discussion of the path forward and the work that remains to be done.
more »
« less
- Award ID(s):
- 2043104
- PAR ID:
- 10539244
- Editor(s):
- Rhode, Matilda; Simmons, Kent
- Publisher / Repository:
- ACM
- Date Published:
- Subject(s) / Keyword(s):
- function extraction secure code security paradigms
- Format(s):
- Medium: X
- Location:
- Bedford, PA
- Sponsoring Org:
- National Science Foundation
More Like this
-
-
Incivility remains a major challenge for online discussion platforms, to such an extent that even conversations between well-intentioned users can often derail into uncivil behavior. Traditionally, platforms have relied on moderators to---with or without algorithmic assistance---take corrective actions such as removing comments or banning users. In this work we propose a complementary paradigm that directly empowers users by proactively enhancing their awareness about existing tension in the conversation they are engaging in and actively guides them as they are drafting their replies to avoid further escalation. As a proof of concept for this paradigm, we design an algorithmic tool that provides such proactive information directly to users, and conduct a user study in a popular discussion platform. Through a mixed methods approach combining surveys with a randomized controlled experiment, we uncover qualitative and quantitative insights regarding how the participants utilize and react to this information. Most participants report finding this proactive paradigm valuable, noting that it helps them to identify tension that they may have otherwise missed and prompts them to further reflect on their own replies and to revise them. These effects are corroborated by a comparison of how the participants draft their reply when our tool warns them that their conversation is at risk of derailing into uncivil behavior versus in a control condition where the tool is disabled.These preliminary findings highlight the potential of this user-centered paradigm and point to concrete directions for future implementations.more » « less
-
Cells interact as dynamically evolving ecosystems. While recent single-cell and spatial multi-omics technologies quantify individual cell characteristics, predicting their evolution requires mathematical modeling. We propose a conceptual framework—a cell behavior hypothesis grammar—that uses natural language statements (cell rules) to create mathematical models. This enables systematic integration of biological knowledge and multi-omics data to generate in silico models, enabling virtual “thought experiments” that test and expand our understanding of multicellular systems and generate new testable hypotheses. This paper motivates and describes the grammar, offers a reference implementation, and demonstrates its use in developing both de novo mechanistic models and those informed by multi-omics data. We show its potential through examples in cancer and its broader applicability in simulating brain development. This approach bridges biological, clinical, and systems biology research for mathematical modeling at scale, allowing the community to predict emergent multicellular behavior.more » « less
-
Parallelizing code in a shared-memory environment is commonly done utilizing loop scheduling (LS) in a fork-join manner as in OpenMP. This manner of parallelization is popular due to its ease to code, but the choice of the LS method is important when the workload per iteration is highly variable. Currently, the shared-memory environment is evolving in high-performance computing as larger chiplet-based processors with high core counts and segmented L3 cache are introduced. These processors have a stronger non-uniform memory access (NUMA) effect than the previous generation of x86-64 processors. This work attempts to modify the adaptive self-scheduling loop scheduler known asiCh(irregularChunk) for these NUMA environments while analyzing the impact of these systems on default OpenMP LS methods. In particular,iChis as a default LS method for irregular applications (i.e., applications where the workload per iteration is highly variable) that guarantees “good” performance without tuning. The modified version, namedNiCh, is demonstrated over multiple irregular applications to show the variation in performance. The work demonstrates thatNiChis able to better handle architectures with stronger NUMA effects, and particularly is better thaniChwhen the number of threads is greater than the number of cores. However,NiChalso comes with being less universally “good” thaniChand a set of parameters that are hardware dependent.more » « less
-
This study investigated novice mathematics teachers participating in an online teacher education course focused on covariational reasoning and understanding the behavior of functions. The analysis centered on documenting the emergence of participants’ sociomathematical norms for engaging in online asynchronous discussions. In this paper, we characterized participants’ initial mathematical discourse and documented two emergent sociomathematical norms, namely explaining why and emergent shape discourse. When participants explained why, they used specific quantities or symbolic representations of functions to justify why function graphs have particular visual features. When participants engaged in emergent shape discourse, they coordinated change between covarying quantities to justify why function graphs behave in certain ways. This study provides evidence that online settings can provide context for mathematics teachers engaging in legitimate collaborative mathematical activity and that activity can be enhanced by participation in discourse featuring specific sociomathematical norms. We discuss conjectures regarding the potential of reflective discussion activities paired with the Notice and Wonder Framework to support the emergence of generative sociomathematical norms. We also discuss potential relationships between characteristics of participants’ mathematical discourse and their membership with the core and periphery of a social network.more » « less
An official website of the United States government

