POPLmark Challenge
   HOME
*





POPLmark Challenge
In programming language theory, the POPLmark challenge (from "Principles of Programming Languages benchmark", formerly Mechanized Metatheory for the Masses!) (Aydemir, 2005) is a set of benchmarks designed to evaluate the state of automated reasoning (or mechanization) in the metatheory of programming languages, and to stimulate discussion and collaboration among a diverse cross section of the formal methods community. Very loosely speaking, the challenge is about measurement of how well programs may be proven to match a specification of how they are intended to behave (and the many complex issues that this involves). The challenge was initially proposed by the members of the ''PL club'' at the University of Pennsylvania, in association with collaborators around the world. The ''Workshop on Mechanized Metatheory'' is the main meeting of researchers participating in the challenge. The design of the POPLmark benchmark is guided by features common to reasoning about programming lang ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


picture info

Programming Language Theory
Programming language theory (PLT) is a branch of computer science that deals with the design, implementation, analysis, characterization, and classification of formal languages known as programming languages. Programming language theory is closely related to other fields including mathematics, software engineering, and linguistics. There are a number of academic conferences and journals in the area. History In some ways, the history of programming language theory predates even the development of programming languages themselves. The lambda calculus, developed by Alonzo Church and Stephen Cole Kleene in the 1930s, is considered by some to be the world's first programming language, even though it was intended to ''model'' computation rather than being a means for programmers to ''describe'' algorithms to a computer system. Many modern functional programming languages have been described as providing a "thin veneer" over the lambda calculus, and many are easily described in te ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


Type Safety
In computer science, type safety and type soundness are the extent to which a programming language discourages or prevents type errors. Type safety is sometimes alternatively considered to be a property of facilities of a computer language; that is, some facilities are type-safe and their usage will not result in type errors, while other facilities in the same language may be type-unsafe and a program using them may encounter type errors. The behaviors classified as type errors by a given programming language are usually those that result from attempts to perform operations on values that are not of the appropriate data type, e.g., adding a string to an integer when there's no definition on how to handle this case. This classification is partly based on opinion. Type enforcement can be static, catching potential errors at compile time, or dynamic, associating type information with values at run-time and consulting them as needed to detect imminent errors, or a combination of both. ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


Formal Methods
In computer science, formal methods are mathematically rigorous techniques for the specification, development, and verification of software and hardware systems. The use of formal methods for software and hardware design is motivated by the expectation that, as in other engineering disciplines, performing appropriate mathematical analysis can contribute to the reliability and robustness of a design. Formal methods employ a variety of theoretical computer science fundamentals, including logic calculi, formal languages, automata theory, control theory, program semantics, type systems, and type theory. Background Semi-Formal Methods are formalisms and languages that are not considered fully “formal”. It defers the task of completing the semantics to a later stage, which is then done either by human interpretation or by interpretation through software like code or test case generators. Taxonomy Formal methods can be used at a number of levels: Level 0: Formal specification may ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


LNCS
''Lecture Notes in Computer Science'' is a series of computer science books published by Springer Science+Business Media since 1973. Overview The series contains proceedings, post-proceedings, monographs, and Festschrifts. In addition, tutorials, state-of-the-art surveys, and "hot topics" are increasingly being included. The series is indexed by DBLP. See also *''Monographiae Biologicae'', another monograph series published by Springer Science+Business Media *''Lecture Notes in Physics'' *''Lecture Notes in Mathematics'' *''Electronic Workshops in Computing'', published by the British Computer Society Sir Maurice Wilkes served as the first President of BCS in 1957 BCS, The Chartered Institute for IT, known as the British Computer Society until 2009, is a professional body and a learned society that represents those working in infor ... References External links * Publications established in 1973 Computer science books Series of non-fiction books Springer ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  




Stephanie Weirich
Stephanie Weirich ( ) is an American computer scientist specializing in type theory, type inference, dependent types, and functional programming. She is a professor of computer science at the University of Pennsylvania. Weirich graduated ''magna cum laude'' in 1996 from Rice University, with a bachelor's degree in computer science. At Rice, she became interested in programming languages through an undergraduate research project with Matthias Felleisen. She moved to Cornell University for her graduate studies, completing her Ph.D. in 2002. Her dissertation, ''Programming with Types'', was supervised by Greg Morrisett. She joined the University of Pennsylvania faculty in 2002. Weirich's work on type inference has been incorporated into the Glasgow Haskell Compiler. She has also been a leader of the POPLmark challenge for benchmarking type systems of programming languages. Weirich won the Robin Milner Young Researcher Award of ACM SIGPLAN SIGPLAN is the Association for Computing Mac ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


Peter Sewell
Peter may refer to: People * List of people named Peter, a list of people and fictional characters with the given name * Peter (given name) ** Saint Peter (died 60s), apostle of Jesus, leader of the early Christian Church * Peter (surname), a surname (including a list of people with the name) Culture * Peter (actor) (born 1952), stage name Shinnosuke Ikehata, Japanese dancer and actor * ''Peter'' (album), a 1993 EP by Canadian band Eric's Trip * ''Peter'' (1934 film), a 1934 film directed by Henry Koster * ''Peter'' (2021 film), Marathi language film * "Peter" (''Fringe'' episode), an episode of the television series ''Fringe'' * ''Peter'' (novel), a 1908 book by Francis Hopkinson Smith * "Peter" (short story), an 1892 short story by Willa Cather Animals * Peter, the Lord's cat, cat at Lord's Cricket Ground in London * Peter (chief mouser), Chief Mouser between 1929 and 1946 * Peter II (cat), Chief Mouser between 1946 and 1947 * Peter III (cat), Chief Mouser between 1947 a ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


picture info

Benjamin C
Benjamin ( he, ''Bīnyāmīn''; "Son of (the) right") blue letter bible: https://www.blueletterbible.org/lexicon/h3225/kjv/wlc/0-1/ H3225 - yāmîn - Strong's Hebrew Lexicon (kjv) was the last of the two sons of Jacob and Rachel (Jacob's thirteenth child and twelfth and youngest son) in Jewish, Christian and Islamic tradition. He was also the progenitor of the Israelite Tribe of Benjamin. Unlike Rachel's first son, Joseph, Benjamin was born in Canaan according to biblical narrative. In the Samaritan Pentateuch, Benjamin's name appears as "Binyamēm" (Samaritan Hebrew: , "son of days"). In the Quran, Benjamin is referred to as a righteous young child, who remained with Jacob when the older brothers plotted against Joseph. Later rabbinic traditions name him as one of four ancient Israelites who died without sin, the other three being Chileab, Jesse and Amram. Name The name is first mentioned in letters from King Sîn-kāšid of Uruk (1801–1771 BC), who called himself “King ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


POPL
The annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL) is an academic conference in the field of computer science, with focus on fundamental principles in the design, definition, analysis, and implementation of programming languages, programming systems, and programming interfaces. The venue is jointly sponsored by two Special Interest Groups of the Association for Computing Machinery: SIGPLAN and SIGACT. POPL ranks as A* (top 4%) in the CORE conference ranking. The proceedings of the conference are hosted at the ACM Digital Library. They were initially under a paywall, but since 2017 they are published in open access as part of the journal ''Proceedings of the ACM on Programming Languages'' (PACMPL). Affiliated events * Declarative Aspects of Multicore Programming (DAMP) * Foundations and Developments of Object-Oriented Languages (FOOL/WOOD) * Partial Evaluation and Semantics-Based Program Manipulation (PEPM) * Practical Applications of Decl ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


QED Manifesto
The QED manifesto was a proposal for a computer-based database of all mathematical knowledge, strictly formalized and with all proofs having been checked automatically. ( Q.E.D. means in Latin, meaning "which was to be demonstrated.") Overview The idea for the project arose in 1993, mainly under the impetus of Robert Boyer. The goals of the project, tentatively named ''QED project'' or ''project QED'', were outlined in the QED manifesto, a document first published in 1994, with input from several researchers. Explicit authorship was deliberately avoided. A dedicated mailing list was created, and two scientific conferences on QED took place, the first one in 1994 at Argonne National Laboratories and the second in 1995 in Warsaw organized by the Mizar group. The project seems to have dissolved by 1996, never having produced more than discussions and plans. In a 2007 paper, Freek Wiedijk identifies two reasons for the failure of the project. In order of importance: * Very few peopl ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  




Expression Problem
The expression problem is a challenging problem in programming languages that concerns the extensibility and modularity of statically typed data abstractions. The goal is to define a data abstraction that is extensible both in its representations and its behaviors, where one can add new representations and new behaviors to the data abstraction, without recompiling existing code, and while retaining static type safety (e.g., no casts). It exposed deficiencies in programming paradigms and programming languages, and it is still not definitively solved, although there are many proposed solutions. History Philip Wadler formulated the challenge and named it "The Expression Problem" in response to a discussion with Rice University's ''Programming Languages Team'' (PLT). He also cited three sources that defined the context for his challenge: The problem was first observed by John Reynolds in 1975. Reynolds discussed two forms of Data Abstraction: User-defined Types, which are now kno ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


Matita Proof Assistant
Matita is an experimental proof assistant under development at the Computer Science Department of the University of Bologna. It is a tool aiding the development of formal proofs by man-machine collaboration, providing a programming environment where formal specifications, executable algorithms and automatically verifiable correctness certificates naturally coexist. Matita is based on a dependent type system known as the Calculus of (Co)Inductive Constructions (a derivative of Calculus of Constructions), and is compatible, to some extent, with Coq. The word "matita" means "pencil" in Italian (a simple and widespread editing tool). It is a reasonably small and simple application, whose architectural and software complexity is meant to be mastered by students, providing a tool particularly suited for testing innovative ideas and solutions. Matita adopts a Tactic (computer science), tactic-based editing mode; (XML-encoded) proof objects are produced for storage and exchange. Main fea ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


ATS (programming Language)
ATS (Applied Type System) is a programming language designed to unify programming with formal specification. ATS has support for combining theorem proving with practical programming through the use of advanced type systems. A past version of The Computer Language Benchmarks Game has demonstrated that the performance of ATS is comparable to that of the C (programming language), C and C++ programming languages. By using theorem proving and strict type checking, the compiler can detect and prove that its implemented functions are not susceptible to bugs such as division by zero, memory leaks, buffer overflow, and other forms of memory corruption by verifying pointer arithmetic and reference counting before the program compiles. Additionally, by using the integrated theorem-proving system of ATS (ATS/LF), the programmer may make use of static constructs that are intertwined with the operative code to prove that a function attains its specification. History ATS is derived mostly ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]