76 research outputs found
Certification of programs with computational effects
In purely functional programming languages imperative features, more
generally computational effects are prohibited. However, non-functional lan-
guages do involve effects. The theory of decorated logic provides a rigorous
for- malism (with a refinement in operation signatures) for proving program
properties with respect to computational effects. The aim of this thesis is to
first develop Coq libraries and tools for verifying program properties in
decorated settings as- sociated with several effects: states, local state,
exceptions, non-termination, etc. Then, these tools will be combined to deal
with several effects
A sound definitional interpreter for a simply typed functional language
In this paper, we develop, in the proof assistant Coq, a definitional interpreter and a type-checker for a simply typed functional language, and formally prove that the mentioned type-checker is sound with respect to the definitional interpreter via progress and preservation. To represent binders, we embark on the choice of “concrete syntax” in which parameters are just names (or strings)
Formal categorical reasoning
In this paper, we present a category theory library developed in the proof assistant Coq. We discuss the design principles of the library in comparison with those existing out there. To explicitly demonstrate the utility of the library, we conclude with a case study in which a Coq formalized soundness proof of the intuitionistic propositional logic within a category theoretical settings is examined
Formal verification in Coq of program properties involving the global state effect
The syntax of an imperative language does not mention explicitly the state,
while its denotational semantics has to mention it. In this paper we present a
framework for the verification in Coq of properties of programs manipulating
the global state effect. These properties are expressed in a proof system which
is close to the syntax, as in effect systems, in the sense that the state does
not appear explicitly in the type of expressions which manipulate it. Rather,
the state appears via decorations added to terms and to equations. In this
system, proofs of programs thus present two aspects: properties can be verified
{\em up to effects} or the effects can be taken into account. The design of our
Coq library consequently reflects these two aspects: our framework is centered
around the construction of two inductive and dependent types, one for terms up
to effects and one for the manipulation of decorations
Extending SMTCoq, a Certified Checker for SMT (Extended Abstract)
This extended abstract reports on current progress of SMTCoq, a communication
tool between the Coq proof assistant and external SAT and SMT solvers. Based on
a checker for generic first-order certificates implemented and proved correct
in Coq, SMTCoq offers facilities both to check external SAT and SMT answers and
to improve Coq's automation using such solvers, in a safe way. Currently
supporting the SAT solver zChaff, and the SMT solver veriT for the combination
of the theories of congruence closure and linear integer arithmetic, SMTCoq is
meant to be extendable with a reasonable amount of effort: we present work in
progress to support the SMT solver CVC4 and the theory of bit vectors.Comment: In Proceedings HaTT 2016, arXiv:1606.0542
Intrusion detection on computer networks using anomaly detection approach
Bilgisayar ağlarına yapılan saldırılar günden güne artarken ve saldırıların nitelikleri de sürekli olarak değişmektedir. Ağ saldırıları, bilgisayar ağlarına zarar vererek bilgi güvenliğini ortadan kaldırmaktadır. Bu durum kişiler, şirketler, kurumlar ve hatta devletler için büyük bir risk oluşturmaktadır. Ağ trafiğinin analizi ve böylece saldırıların ortaya çıkarılabilmesi için Saldırı Tespit Sistemlerinden yararlanılmaktadır. Saldırı türlerini tanıyacak şekilde oluşturulan bu sistemlerin gelişimleri de artan saldırı tiplerine göre sürekli devam etmektedir. Bu çalışmada makine öğrenmesi teknikleri yardımıyla anormallik tabanlı bir saldırı tespit sistemi oluşturulması amaçlanmıştır. Çalışma sürecinde; Yinelemeli Özellik Elemesi, İleri Yönelimli Seçim, Rastgele Orman, Karar Ağaçları, Naive Bayes, Lojistik Regresyon ve Ekstrem Gradyan Artırma gibi algoritmalardan yararlanılmış ve Doğruluk, Kesinlik, Duyarlılık ve F1 gibi metrikler ile değerlendirmeler yapılmıştır. Ayrıca model değerlendirme için ROC eğrilerinden yararlanılmıştır. Bahsi geçen bu algoritmalardan elde edilen sonuçlar karşılaştırılarak en etkili modelin bulunması için CICIDS 2017 veri seti kullanılmıştır. Çalışma kapsamında Yinelemeli Özellik Elemesi ve İleri Yönelimli Seçim teknikleriyle özellik seçimi yapılmış ve en iyi sınıflandırma sonuçları Rasgele Orman ve Ekstrem Gradyan Artırma algoritmalarından elde edilmiştir.Attacks on computer networks are increasing day by day and characteristics of them are changing continuously. Network attacks destroy information security by damaging computer network systems. This situation poses a great risk for individuals, companies, institutions and even governments. To prevent or minimize the damages of network attacks, Intrusion Detection Systems are used. The development of these systems, which are created according to attack characteristics, continues parallelly to increasing attack types. In this study, it is aimed to create an intrusion detection system based on machine learning principles with anomaly detection. Recursive Feature Elimination, Forward Feature Selection, Random Forest, Decision Tree, Naive Bayes, Logistic Regression and Extreme Gradient Boosting algorithms are used during the study and evaluations are made by Accuracy, Precision, Recall and F1 Score metrics. Also, Cross Validation and ROC Curve methods are used for the evaluation. CICIDS2017 data set is used to find the most effective model by comparing the results obtained from the mentioned algorithms. As the result of this study, it is determined that the Intrusion Detection System models, which are created by classifying the features obtained the methods of Forward Feature Selection and Recursive Feature Elimination with Random Forest and Extreme Gradient Boosting algorithms, are successful
Formal verification of bit-vector invertibility conditions in Coq
We prove the correctness of invertibility conditions for the theory of fixed-width bit-vectors—used to solve quantified bit-vector formulas in the Satisfiability Modulo Theories (SMT) solver cvc5— in the Coq proof assistant. Previous work proved many of these in a completely automatic fashion for arbitrary bit-width; however, some were only proved for bit-widths up to 65, even though they are being used to solve formulas over larger bit-widths. In this paper we describe the process of proving a representative subset of these invertibility conditions in Coq. In particular, we describe the BVList library for bit-vectors in Coq, our extensions to it, and proofs of the invertibility conditions
A Sound Definitional Interpreter for a Simply Typed Functional Language
In this paper, we develop, in the proof assistant Coq, a definitional interpreter and a type-checker for a simply typed functional language, and formally prove that the mentioned type-checker is sound with respect to the definitional interpreter via progress and preservation. To represent binders, we embark on the choice of “concrete syntax” in which parameters are just names (or strings)
- …