In this paper we look at the decimal expansion of 1p for dierent primes p. We find the set of num... more In this paper we look at the decimal expansion of 1p for dierent primes p. We find the set of numbers that can occur as the length of the period. We illustrate some statistics about the density of the primes for which the period is maximal. We also explain Artin's heuristic argument about this density.
Proceeding of the 24th ACM SIGPLAN conference companion on Object oriented programming systems languages and applications - OOPSLA '09, 2009
Traditional formal methods and modern agile methods are separated more by limitations of current ... more Traditional formal methods and modern agile methods are separated more by limitations of current technology than by fundamental intellectual differences. A mixed interpreter that executes mixed programs, comprising both declarative specification statements and regular imperative statements, might bridge the gap. This paper explores how such an interpreter might be used, showing by example how it might support a variety of development activities.
Logics that involve collections (sets, multisets), and cardinality constraints are useful for rea... more Logics that involve collections (sets, multisets), and cardinality constraints are useful for reasoning about unbounded data structures and concurrent processes. To make such logics more useful in verification this paper extends them with the ability to compute direct and inverse relation and function images. We establish decidability and complexity bounds for the extended logics.
We present a case-study in which vote-tallying software is analyzed using a bounded verification ... more We present a case-study in which vote-tallying software is analyzed using a bounded verification technique, whereby all executions of a procedure are exhaustively examined within a finite space given by a bound on the size of the heap and the number of loop unrollings. The technique involves an encoding of the procedure in an intermediate relational programming language, a translation of that language to relational logic, and an analysis of the logic that exploits recent advances in finite model-finding. Our technique yields concrete counterexamples -traces of the procedure that violate the specification.
It is becoming increasingly important for applications to protect sensitive data. With current te... more It is becoming increasingly important for applications to protect sensitive data. With current techniques, the programmer bears the burden of ensuring that the application's behavior adheres to policies about where sensitive values may flow. Unfortunately, privacy policies are difficult to manage because their global nature requires coordinated reasoning and enforcement. To address this problem, we describe a programming model that
Software construction today often involves the use of large frameworks. The challenge in this typ... more Software construction today often involves the use of large frameworks. The challenge in this type of programming is that object-oriented frameworks tend to grow exceedingly intricate; they spread functionality among numerous classes, and any use of the framework requires knowledge of many interacting components. We present a system named MATCHMAKER that from a simple query synthesizes code that interacts with
Proceeding of the 33rd international conference on Software engineering - ICSE '11, 2011
We present a unified environment for running declarative specifications in the context of an impe... more We present a unified environment for running declarative specifications in the context of an imperative object-oriented programming language. Specifications are Alloy-like, written in first-order relational logic with transitive closure, and the imperative language is Java. By being able to mix imperative code with executable declarative specifications, the user can easily express constraint problems in place, i.e., in terms of the
We find the set of numbers that can occur as the length of the period. We illustrate some statist... more We find the set of numbers that can occur as the length of the period. We illustrate some statistics about the density of the primes for which the period is maximal. We also explain Artin's heuristic argument about this density. ... This paper investigates some interesting properties of the ...
Logics that involve collections (sets, multisets), and cardinality constraints are useful for rea... more Logics that involve collections (sets, multisets), and cardinality constraints are useful for reasoning about unbounded data structures and concurrent processes. To make such logics more useful in verification this paper extends them with the ability to compute direct and inverse relation and function images. We establish decidability and complexity bounds for the extended logics.
Proceedings of the 26th annual ACM symposium on User interface software and technology - UIST '13, 2013
ABSTRACT Text processing, tedious and error-prone even for programmers, remains one of the most a... more ABSTRACT Text processing, tedious and error-prone even for programmers, remains one of the most alluring targets of Programming by Example. An examination of real-world text processing tasks found on help forums reveals that many such tasks, beyond simple string manipulation, involve latent hierarchical structures. We present STEPS, a programming system for processing structured and semi-structured text by example. STEPS users create and manipulate hierarchical structure by example. In a between-subject user study on fourteen computer scientists, STEPS compares favorably to traditional programming.
In this paper we look at the decimal expansion of 1p for dierent primes p. We find the set of num... more In this paper we look at the decimal expansion of 1p for dierent primes p. We find the set of numbers that can occur as the length of the period. We illustrate some statistics about the density of the primes for which the period is maximal. We also explain Artin's heuristic argument about this density.
Proceeding of the 24th ACM SIGPLAN conference companion on Object oriented programming systems languages and applications - OOPSLA '09, 2009
Traditional formal methods and modern agile methods are separated more by limitations of current ... more Traditional formal methods and modern agile methods are separated more by limitations of current technology than by fundamental intellectual differences. A mixed interpreter that executes mixed programs, comprising both declarative specification statements and regular imperative statements, might bridge the gap. This paper explores how such an interpreter might be used, showing by example how it might support a variety of development activities.
Logics that involve collections (sets, multisets), and cardinality constraints are useful for rea... more Logics that involve collections (sets, multisets), and cardinality constraints are useful for reasoning about unbounded data structures and concurrent processes. To make such logics more useful in verification this paper extends them with the ability to compute direct and inverse relation and function images. We establish decidability and complexity bounds for the extended logics.
We present a case-study in which vote-tallying software is analyzed using a bounded verification ... more We present a case-study in which vote-tallying software is analyzed using a bounded verification technique, whereby all executions of a procedure are exhaustively examined within a finite space given by a bound on the size of the heap and the number of loop unrollings. The technique involves an encoding of the procedure in an intermediate relational programming language, a translation of that language to relational logic, and an analysis of the logic that exploits recent advances in finite model-finding. Our technique yields concrete counterexamples -traces of the procedure that violate the specification.
It is becoming increasingly important for applications to protect sensitive data. With current te... more It is becoming increasingly important for applications to protect sensitive data. With current techniques, the programmer bears the burden of ensuring that the application's behavior adheres to policies about where sensitive values may flow. Unfortunately, privacy policies are difficult to manage because their global nature requires coordinated reasoning and enforcement. To address this problem, we describe a programming model that
Software construction today often involves the use of large frameworks. The challenge in this typ... more Software construction today often involves the use of large frameworks. The challenge in this type of programming is that object-oriented frameworks tend to grow exceedingly intricate; they spread functionality among numerous classes, and any use of the framework requires knowledge of many interacting components. We present a system named MATCHMAKER that from a simple query synthesizes code that interacts with
Proceeding of the 33rd international conference on Software engineering - ICSE '11, 2011
We present a unified environment for running declarative specifications in the context of an impe... more We present a unified environment for running declarative specifications in the context of an imperative object-oriented programming language. Specifications are Alloy-like, written in first-order relational logic with transitive closure, and the imperative language is Java. By being able to mix imperative code with executable declarative specifications, the user can easily express constraint problems in place, i.e., in terms of the
We find the set of numbers that can occur as the length of the period. We illustrate some statist... more We find the set of numbers that can occur as the length of the period. We illustrate some statistics about the density of the primes for which the period is maximal. We also explain Artin's heuristic argument about this density. ... This paper investigates some interesting properties of the ...
Logics that involve collections (sets, multisets), and cardinality constraints are useful for rea... more Logics that involve collections (sets, multisets), and cardinality constraints are useful for reasoning about unbounded data structures and concurrent processes. To make such logics more useful in verification this paper extends them with the ability to compute direct and inverse relation and function images. We establish decidability and complexity bounds for the extended logics.
Proceedings of the 26th annual ACM symposium on User interface software and technology - UIST '13, 2013
ABSTRACT Text processing, tedious and error-prone even for programmers, remains one of the most a... more ABSTRACT Text processing, tedious and error-prone even for programmers, remains one of the most alluring targets of Programming by Example. An examination of real-world text processing tasks found on help forums reveals that many such tasks, beyond simple string manipulation, involve latent hierarchical structures. We present STEPS, a programming system for processing structured and semi-structured text by example. STEPS users create and manipulate hierarchical structure by example. In a between-subject user study on fourteen computer scientists, STEPS compares favorably to traditional programming.
Uploads
Papers by Kuat Yessenov