{"id":194,"date":"2017-03-09T15:57:14","date_gmt":"2017-03-09T14:57:14","guid":{"rendered":"http:\/\/antek.atthost24.pl\/?p=194"},"modified":"2017-04-02T23:09:08","modified_gmt":"2017-04-02T21:09:08","slug":"jak-wykrywac-plagiaty-czesc-pierwsza","status":"publish","type":"post","link":"https:\/\/blog.lantkowiak.pl\/index.php\/2017\/03\/09\/jak-wykrywac-plagiaty-czesc-pierwsza\/","title":{"rendered":"Jak wykrywa\u0107 plagiaty? Cz\u0119\u015b\u0107 pierwsza!"},"content":{"rendered":"<p>Jak wspomnia\u0142em w pierwszym wpisie w ramach Daj Si\u0119 Pozna\u0107 2017, aplikacja, kt\u00f3r\u0105 pisz\u0119 b\u0119dzie odpowiedzialna za wykrywanie plagiat\u00f3w w kodach \u017ar\u00f3d\u0142owych program\u00f3w.<\/p>\n<p>W tym i w kilku (0, 1 lub 2 :P) kolejnych wpisach postaram si\u0119 przedstawi\u0107 kilka istniej\u0105cych podej\u015b\u0107 do tego problemu.<\/p>\n<h3>Systemy bazuj\u0105ce na zliczaniu atrybut\u00f3w<\/h3>\n<p>Pierwszymi automatycznymi systemami do wykrywania plagiat\u00f3w w kodach \u017ar\u00f3d\u0142owych program\u00f3w by\u0142y systemy polegaj\u0105ce za zliczaniu i por\u00f3wnywaniu atrybut\u00f3w program\u00f3w.<\/p>\n<h4>Miara z\u0142o\u017cono\u015bci Halstead&#8217;a<\/h4>\n<p>Pierwszym automatycznym systemem s\u0142u\u017c\u0105cym do automatycznego por\u00f3wnywania stopnia podobie\u0144stwa mi\u0119dzy kodami \u017ar\u00f3d\u0142owymi program\u00f3w by\u0142 system zaproponowany przez Halsted&#8217;a w 1977 roku. System ten do mierzenia podobie\u0144stwa program\u00f3w u\u017cywa\u0142 czterech statystyk programu:<\/p>\n<ul>\n<li><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/blog.lantkowiak.pl\/wp-content\/ql-cache\/quicklatex.com-e1ce85b9e4cd1dad5eef22b1b6467499_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#123;&#92;&#101;&#116;&#97;&#95;&#49;&#125;\" title=\"Rendered by QuickLaTeX.com\" height=\"12\" width=\"15\" style=\"vertical-align: -4px;\"\/>\u00a0&#8211;\u00a0liczba unikalnych operator\u00f3w<\/li>\n<li><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/blog.lantkowiak.pl\/wp-content\/ql-cache\/quicklatex.com-3524afa5ca13d7de023737a766380921_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#123;&#92;&#101;&#116;&#97;&#95;&#50;&#125;\" title=\"Rendered by QuickLaTeX.com\" height=\"12\" width=\"16\" style=\"vertical-align: -4px;\"\/>\u00a0&#8211;\u00a0liczba unikalnych operand\u00f3w<\/li>\n<li><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/blog.lantkowiak.pl\/wp-content\/ql-cache\/quicklatex.com-8e3e23e6897f20f4aa10d381379e3cae_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#123;&#78;&#95;&#49;&#125;\" title=\"Rendered by QuickLaTeX.com\" height=\"16\" width=\"20\" style=\"vertical-align: -4px;\"\/>\u00a0&#8211;\u00a0liczba wyst\u0105pie\u0144 operator\u00f3w<\/li>\n<li><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/blog.lantkowiak.pl\/wp-content\/ql-cache\/quicklatex.com-bcc24a3a2e91bfa4d3394523a5fa8b04_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#123;&#78;&#95;&#50;&#125;\" title=\"Rendered by QuickLaTeX.com\" height=\"15\" width=\"21\" style=\"vertical-align: -3px;\"\/>\u00a0&#8211; liczba wyst\u0105pie\u0144 operand\u00f3w<\/li>\n<\/ul>\n<p>Pary program\u00f3w, u kt\u00f3rych powy\u017csze warto\u015bci by\u0142y identyczne by\u0142y dalej przegl\u0105dane przez cz\u0142owieka w celu stwierdzenia lub odrzucenie zaj\u015bcia plagiatu (spora wada tego systemu ;)).<\/p>\n<p>Powy\u017cszy system mia\u0142 bardzo ograniczone mo\u017cliwo\u015bci. Statystyki takie jak liczba wyst\u0105pie\u0144 operator\u00f3w czy ilo\u015b\u0107 unikalnych operator\u00f3w s\u0105 warto\u015bciami, kt\u00f3re mo\u017cna w bardzo \u0142atwy spos\u00f3b zmieni\u0107, a co za tym idzie oszuka\u0107 opisany wy\u017cej system.<\/p>\n<h3>System Accuse Grier&#8217;a<\/h3>\n<p>System Accuse, stworzony przez Grier&#8217;a, powsta\u0142 na bazie wcze\u015bniej opisanego systemu. Grier w swoim systemie do badania podobie\u0144stw mi\u0119dzy programami u\u017cywa nast\u0119puj\u0105cych statystyk:<\/p>\n<ul>\n<li>liczba unikalnych operator\u00f3w<\/li>\n<li>liczba unikalnych operand\u00f3w<\/li>\n<li>liczba wyst\u0105pie\u0144 operator\u00f3w<\/li>\n<li>liczba wyst\u0105pie\u0144 operand\u00f3w<\/li>\n<li>liczba linii kodu<\/li>\n<li>liczba zmiennych zadeklarowanych i u\u017cytych<\/li>\n<li>liczba wszystkich instrukcji kontrolnych<\/li>\n<\/ul>\n<p>W pierwszej fazie system Accuse zlicza\u0142 dla ka\u017cdego programu wy\u017cej wymienione parametry. W drugiej fazie jest obliczania korelacja pomi\u0119dzy parami program\u00f3w. Przy obliczaniu korelacji u\u017cywane s\u0105 dwa sta\u0142e parametry:<\/p>\n<ul>\n<li>rozmiar okna (<em>window<\/em>) &#8211;\u00a0okre\u015bla maksymaln\u0105 r\u00f3\u017cnic\u0119 pomi\u0119dzy zliczonymi statystykami dw\u00f3ch program\u00f3w<\/li>\n<li>warto\u015b\u0107 wa\u017cno\u015bci (<em>importance<\/em>) &#8211; waga danego parametru przy obliczaniu korelacji<\/li>\n<\/ul>\n<p>Nast\u0119pnie korelacja jest obliczana w nast\u0119puj\u0105cy spos\u00f3b:<\/p>\n<ul>\n<li>warto\u015b\u0107 korelacji jest ustawiana na 0<\/li>\n<li>dla ka\u017cdej metryki wykonywane jest:\n<ul>\n<li>je\u017celi <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/blog.lantkowiak.pl\/wp-content\/ql-cache\/quicklatex.com-46653583b329830fe6c5ae1e81df7266_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#123;&#65;&#95;&#105;&#125;\" title=\"Rendered by QuickLaTeX.com\" height=\"15\" width=\"18\" style=\"vertical-align: -3px;\"\/> jest warto\u015bci\u0105 i-tej metryki programu A i <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/blog.lantkowiak.pl\/wp-content\/ql-cache\/quicklatex.com-b6bf816dc83821c2f3dea2d2b6a7c355_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#123;&#66;&#95;&#105;&#125;\" title=\"Rendered by QuickLaTeX.com\" height=\"15\" width=\"18\" style=\"vertical-align: -3px;\"\/> jest korensponduj\u0105c\u0105 metryk\u0105 w programie B wtedy <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/blog.lantkowiak.pl\/wp-content\/ql-cache\/quicklatex.com-623cbb4a05f1f9c1e4f337d71bd2f259_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#123;&#100;&#105;&#102;&#102;&#95;&#105;&#61;&#124;&#65;&#95;&#105;&#45;&#66;&#95;&#105;&#124;&#125;\" title=\"Rendered by QuickLaTeX.com\" height=\"18\" width=\"131\" style=\"vertical-align: -4px;\"\/>.<\/li>\n<li>je\u017celi <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/blog.lantkowiak.pl\/wp-content\/ql-cache\/quicklatex.com-a207ae92eb65203e01d26792da41c0e1_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#123;&#100;&#105;&#102;&#102;&#95;&#105;&#92;&#108;&#101;&#32;&#119;&#105;&#110;&#100;&#111;&#119;&#95;&#105;&#125;\" title=\"Rendered by QuickLaTeX.com\" height=\"17\" width=\"130\" style=\"vertical-align: -4px;\"\/> wtedy <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/blog.lantkowiak.pl\/wp-content\/ql-cache\/quicklatex.com-ca2a005981c8eb71a92c998307429410_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#123;&#99;&#111;&#114;&#114;&#101;&#108;&#97;&#116;&#105;&#111;&#110;&#95;&#123;&#65;&#66;&#125;&#32;&#43;&#61;&#32;&#105;&#109;&#112;&#111;&#114;&#116;&#97;&#110;&#99;&#101;&#95;&#105;&#45;&#100;&#105;&#102;&#102;&#95;&#105;&#125;\" title=\"Rendered by QuickLaTeX.com\" height=\"17\" width=\"305\" style=\"vertical-align: -4px;\"\/>.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p>Przy parach program\u00f3w z du\u017c\u0105 warto\u015bci\u0105 obliczonej korelacji zachodzi prawdopodobie\u0144stwo plagiatu i programy te powinny zosta\u0107 przejrzane przez cz\u0142owieka (tym razem jest o tyle lepiej, \u017ce nie wszystkie por\u00f3wnania musz\u0105 zosta\u0107 przejrzane ;)).<\/p>\n<h3>System Faidhi-Robinson<\/h3>\n<p>Faidhi i Robinson stworzyli list\u0119 metryk s\u0142u\u017c\u0105c\u0105 do wykrywania plagiat\u00f3w. Metryki te wed\u0142ug nich mia\u0142y by\u0107 lepsze od metryk opisanych w systemie Accuse. Metryki te, nie koreluj\u0105 ze sob\u0105, a dodatkowo w tych metrykach s\u0105 ukryte dodatkowe miary, kt\u00f3re powinny by\u0107 ci\u0119\u017ckie do zmiany przynajmniej przez programist\u0119 (a przynajmniej pocz\u0105tkuj\u0105cego ;).<\/p>\n<p>Pierwsze dziesi\u0119\u0107 metryk Faidhi i Robinson zakwalifikowali do grupy metryk, kt\u00f3re wed\u0142ug nich mo\u017ce bez wi\u0119kszego problemu zmieni\u0107 nawet pocz\u0105tkuj\u0105cy programista.<\/p>\n<ol>\n<li>\u015brednia ilo\u015b\u0107 znak\u00f3w na lini\u0119<\/li>\n<li>liczba linii z komentarzami<\/li>\n<li>liczba linii z wci\u0119ciami<\/li>\n<li>liczba pustych linii<\/li>\n<li>\u015brednia d\u0142ugo\u015b\u0107 procedury lub funkcji<\/li>\n<li>liczba s\u0142\u00f3w kluczowych<\/li>\n<li>\u015brednia d\u0142ugo\u015b\u0107 identyfikatora<\/li>\n<li>\u015brednia ilo\u015b\u0107 spacji na lini\u0119<\/li>\n<li>liczba etykiet i polece\u0144 <em>goto<\/em><\/li>\n<li>liczba unikalnych identyfikator\u00f3w<\/li>\n<\/ol>\n<p>Kolejne 14 metryk zosta\u0142o wybranych jako metryki mierz\u0105ce struktur\u0119 programu, kt\u00f3re s\u0105 trudne do zmodyfikowania przez programist\u0119.<\/p>\n<ol>\n<li>liczba etap\u00f3w program\u00f3w &#8211; przy pomocy algorytmu Cocke&#8217;a i Allen&#8217;a jest tworzony graf przep\u0142ywu<\/li>\n<li>liczba kolor\u00f3w wierzcho\u0142k\u00f3w o kolorach 1 i 2 w pokolorowanym grafie przep\u0142ywu<\/li>\n<li>liczba wierzcho\u0142k\u00f3w maj\u0105cych kolor 3<\/li>\n<li>liczba wierzcho\u0142k\u00f3w maj\u0105cych kolor 4<\/li>\n<li>procentowa ilo\u015b\u0107 wyra\u017ce\u0144 w programie<\/li>\n<li>procentowa ilo\u015b\u0107 prostych wyra\u017ce\u0144 w programie<\/li>\n<li>procentowa ilo\u015b\u0107 term\u00f3w w programie<\/li>\n<li>procentowa ilo\u015b\u0107 wsp\u00f3\u0142czynnik\u00f3w w programie<\/li>\n<li>liczba zb\u0119dnych rzeczy w programie &#8211; np. zb\u0119dne \u015bredniki lub pary <em>BEGIN<\/em>\/<em>END<\/em><\/li>\n<li>liczba linii wewn\u0105trz funkcji i procedur<\/li>\n<li>liczba funkcji i procedur<\/li>\n<li>procentowa ilo\u015b\u0107 wyra\u017ce\u0144 warunkowych<\/li>\n<li>procentowa ilo\u015b\u0107 powtarzaj\u0105cych si\u0119 wyra\u017ce\u0144<\/li>\n<li>liczba instrukcji w programie<\/li>\n<\/ol>\n<p>W systemie Faidhi-Robinson, podobnie jak w poprzednim systemie, do obliczania podobie\u0144stwa u\u017cyto dw\u00f3ch sta\u0142ych parametr\u00f3w:<\/p>\n<ul>\n<li>rozmiar okna (<em>window<\/em>)<\/li>\n<li>warto\u015b\u0107 wa\u017cno\u015bci (<em>importance<\/em>)<\/li>\n<\/ul>\n<p>Algorytm obliczania podobie\u0144stwa wygl\u0105da nast\u0119puj\u0105ca:<\/p>\n<ul>\n<li>dla ka\u017cdej metryki:\n<ul>\n<li><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/blog.lantkowiak.pl\/wp-content\/ql-cache\/quicklatex.com-1f9408187cfa75f1a3d6f58618a37e4a_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#123;&#105;&#110;&#99;&#114;&#101;&#109;&#101;&#110;&#116;&#95;&#105;&#61;&#92;&#102;&#114;&#97;&#99;&#123;&#119;&#105;&#110;&#100;&#111;&#119;&#95;&#105;&#45;&#100;&#105;&#102;&#102;&#95;&#105;&#125;&#123;&#119;&#105;&#110;&#100;&#111;&#119;&#95;&#105;&#125;&#92;&#99;&#100;&#111;&#116;&#32;&#105;&#109;&#112;&#111;&#114;&#116;&#97;&#110;&#99;&#101;&#95;&#105;&#125;\" title=\"Rendered by QuickLaTeX.com\" height=\"25\" width=\"317\" style=\"vertical-align: -8px;\"\/><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p>Ca\u0142kowita korelacja wynosi zatem:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/blog.lantkowiak.pl\/wp-content\/ql-cache\/quicklatex.com-aed890b1dbf7cd9951e073dfc14142d3_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#123;&#92;&#115;&#117;&#109;&#95;&#123;&#105;&#61;&#49;&#125;&#94;&#123;&#50;&#52;&#125;&#32;&#105;&#110;&#99;&#114;&#101;&#109;&#101;&#110;&#116;&#95;&#105;&#125;\" title=\"Rendered by QuickLaTeX.com\" height=\"23\" width=\"132\" style=\"vertical-align: -6px;\"\/>.<\/p>\n<p>Im otrzymana korelacja mia\u0142a wi\u0119ksz\u0105 warto\u015b\u0107 tym zachodzi\u0142o wi\u0119ksze prawdopodobie\u0144stwo plagiatu.<\/p>\n<h3>Kr\u00f3tkie podsumowanie<\/h3>\n<p>W tym wpisie przedstawi\u0142em kilka pierwszych system\u00f3w do wykrywania plagiat\u00f3w w kodach \u017ar\u00f3d\u0142owych. Niestety nie by\u0142y one zbyt efektywne.<\/p>\n<p>W kolejnych wpisach opisz\u0119 kilka innych podej\u015b\u0107 do wykrywania plagiat\u00f3w, kt\u00f3re charakteryzuj\u0105 si\u0119 wi\u0119ksz\u0105 skuteczno\u015bci\u0105.<\/p>\n<p align=\"\u201dcenter\u201d\">\n","protected":false},"excerpt":{"rendered":"<p>Jak wspomnia\u0142em w pierwszym wpisie w ramach Daj Si\u0119 Pozna\u0107 2017, aplikacja, kt\u00f3r\u0105 pisz\u0119 b\u0119dzie odpowiedzialna za wykrywanie plagiat\u00f3w w kodach \u017ar\u00f3d\u0142owych program\u00f3w. W tym i w kilku&#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[12,19],"tags":[],"class_list":["post-194","post","type-post","status-publish","format-standard","hentry","category-dsp2017","category-plagdetector"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v21.4 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Jak wykrywa\u0107 plagiaty? Cz\u0119\u015b\u0107 pierwsza! - Lukasz Antkowiak&#039;s blog<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/blog.lantkowiak.pl\/index.php\/2017\/03\/09\/jak-wykrywac-plagiaty-czesc-pierwsza\/\" \/>\n<meta property=\"og:locale\" content=\"pl_PL\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Jak wykrywa\u0107 plagiaty? Cz\u0119\u015b\u0107 pierwsza! - Lukasz Antkowiak&#039;s blog\" \/>\n<meta property=\"og:description\" content=\"Jak wspomnia\u0142em w pierwszym wpisie w ramach Daj Si\u0119 Pozna\u0107 2017, aplikacja, kt\u00f3r\u0105 pisz\u0119 b\u0119dzie odpowiedzialna za wykrywanie plagiat\u00f3w w kodach \u017ar\u00f3d\u0142owych program\u00f3w. W tym i w kilku...\" \/>\n<meta property=\"og:url\" content=\"https:\/\/blog.lantkowiak.pl\/index.php\/2017\/03\/09\/jak-wykrywac-plagiaty-czesc-pierwsza\/\" \/>\n<meta property=\"og:site_name\" content=\"Lukasz Antkowiak&#039;s blog\" \/>\n<meta property=\"article:published_time\" content=\"2017-03-09T14:57:14+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2017-04-02T21:09:08+00:00\" \/>\n<meta name=\"author\" content=\"\u0141ukasz Antkowiak\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Napisane przez\" \/>\n\t<meta name=\"twitter:data1\" content=\"\u0141ukasz Antkowiak\" \/>\n\t<meta name=\"twitter:label2\" content=\"Szacowany czas czytania\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minuty\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/blog.lantkowiak.pl\/index.php\/2017\/03\/09\/jak-wykrywac-plagiaty-czesc-pierwsza\/\",\"url\":\"https:\/\/blog.lantkowiak.pl\/index.php\/2017\/03\/09\/jak-wykrywac-plagiaty-czesc-pierwsza\/\",\"name\":\"Jak wykrywa\u0107 plagiaty? Cz\u0119\u015b\u0107 pierwsza! - Lukasz Antkowiak&#039;s blog\",\"isPartOf\":{\"@id\":\"https:\/\/blog.lantkowiak.pl\/#website\"},\"datePublished\":\"2017-03-09T14:57:14+00:00\",\"dateModified\":\"2017-04-02T21:09:08+00:00\",\"author\":{\"@id\":\"https:\/\/blog.lantkowiak.pl\/#\/schema\/person\/009bfc4db220c225786c59b1748ba1e6\"},\"breadcrumb\":{\"@id\":\"https:\/\/blog.lantkowiak.pl\/index.php\/2017\/03\/09\/jak-wykrywac-plagiaty-czesc-pierwsza\/#breadcrumb\"},\"inLanguage\":\"pl-PL\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/blog.lantkowiak.pl\/index.php\/2017\/03\/09\/jak-wykrywac-plagiaty-czesc-pierwsza\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/blog.lantkowiak.pl\/index.php\/2017\/03\/09\/jak-wykrywac-plagiaty-czesc-pierwsza\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Strona g\u0142\u00f3wna\",\"item\":\"https:\/\/blog.lantkowiak.pl\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Jak wykrywa\u0107 plagiaty? Cz\u0119\u015b\u0107 pierwsza!\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/blog.lantkowiak.pl\/#website\",\"url\":\"https:\/\/blog.lantkowiak.pl\/\",\"name\":\"Lukasz Antkowiak&#039;s blog\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/blog.lantkowiak.pl\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"pl-PL\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/blog.lantkowiak.pl\/#\/schema\/person\/009bfc4db220c225786c59b1748ba1e6\",\"name\":\"\u0141ukasz Antkowiak\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pl-PL\",\"@id\":\"https:\/\/blog.lantkowiak.pl\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/e18e2bfe319da9b5757cf7f7ae1bfecf?s=96&d=monsterid&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/e18e2bfe319da9b5757cf7f7ae1bfecf?s=96&d=monsterid&r=g\",\"caption\":\"\u0141ukasz Antkowiak\"},\"description\":\"dd\",\"url\":\"https:\/\/blog.lantkowiak.pl\/index.php\/author\/antek\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Jak wykrywa\u0107 plagiaty? Cz\u0119\u015b\u0107 pierwsza! - Lukasz Antkowiak&#039;s blog","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/blog.lantkowiak.pl\/index.php\/2017\/03\/09\/jak-wykrywac-plagiaty-czesc-pierwsza\/","og_locale":"pl_PL","og_type":"article","og_title":"Jak wykrywa\u0107 plagiaty? Cz\u0119\u015b\u0107 pierwsza! - Lukasz Antkowiak&#039;s blog","og_description":"Jak wspomnia\u0142em w pierwszym wpisie w ramach Daj Si\u0119 Pozna\u0107 2017, aplikacja, kt\u00f3r\u0105 pisz\u0119 b\u0119dzie odpowiedzialna za wykrywanie plagiat\u00f3w w kodach \u017ar\u00f3d\u0142owych program\u00f3w. W tym i w kilku...","og_url":"https:\/\/blog.lantkowiak.pl\/index.php\/2017\/03\/09\/jak-wykrywac-plagiaty-czesc-pierwsza\/","og_site_name":"Lukasz Antkowiak&#039;s blog","article_published_time":"2017-03-09T14:57:14+00:00","article_modified_time":"2017-04-02T21:09:08+00:00","author":"\u0141ukasz Antkowiak","twitter_card":"summary_large_image","twitter_misc":{"Napisane przez":"\u0141ukasz Antkowiak","Szacowany czas czytania":"4 minuty"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/blog.lantkowiak.pl\/index.php\/2017\/03\/09\/jak-wykrywac-plagiaty-czesc-pierwsza\/","url":"https:\/\/blog.lantkowiak.pl\/index.php\/2017\/03\/09\/jak-wykrywac-plagiaty-czesc-pierwsza\/","name":"Jak wykrywa\u0107 plagiaty? Cz\u0119\u015b\u0107 pierwsza! - Lukasz Antkowiak&#039;s blog","isPartOf":{"@id":"https:\/\/blog.lantkowiak.pl\/#website"},"datePublished":"2017-03-09T14:57:14+00:00","dateModified":"2017-04-02T21:09:08+00:00","author":{"@id":"https:\/\/blog.lantkowiak.pl\/#\/schema\/person\/009bfc4db220c225786c59b1748ba1e6"},"breadcrumb":{"@id":"https:\/\/blog.lantkowiak.pl\/index.php\/2017\/03\/09\/jak-wykrywac-plagiaty-czesc-pierwsza\/#breadcrumb"},"inLanguage":"pl-PL","potentialAction":[{"@type":"ReadAction","target":["https:\/\/blog.lantkowiak.pl\/index.php\/2017\/03\/09\/jak-wykrywac-plagiaty-czesc-pierwsza\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/blog.lantkowiak.pl\/index.php\/2017\/03\/09\/jak-wykrywac-plagiaty-czesc-pierwsza\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Strona g\u0142\u00f3wna","item":"https:\/\/blog.lantkowiak.pl\/"},{"@type":"ListItem","position":2,"name":"Jak wykrywa\u0107 plagiaty? Cz\u0119\u015b\u0107 pierwsza!"}]},{"@type":"WebSite","@id":"https:\/\/blog.lantkowiak.pl\/#website","url":"https:\/\/blog.lantkowiak.pl\/","name":"Lukasz Antkowiak&#039;s blog","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/blog.lantkowiak.pl\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"pl-PL"},{"@type":"Person","@id":"https:\/\/blog.lantkowiak.pl\/#\/schema\/person\/009bfc4db220c225786c59b1748ba1e6","name":"\u0141ukasz Antkowiak","image":{"@type":"ImageObject","inLanguage":"pl-PL","@id":"https:\/\/blog.lantkowiak.pl\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/e18e2bfe319da9b5757cf7f7ae1bfecf?s=96&d=monsterid&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/e18e2bfe319da9b5757cf7f7ae1bfecf?s=96&d=monsterid&r=g","caption":"\u0141ukasz Antkowiak"},"description":"dd","url":"https:\/\/blog.lantkowiak.pl\/index.php\/author\/antek\/"}]}},"_links":{"self":[{"href":"https:\/\/blog.lantkowiak.pl\/index.php\/wp-json\/wp\/v2\/posts\/194","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.lantkowiak.pl\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.lantkowiak.pl\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.lantkowiak.pl\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.lantkowiak.pl\/index.php\/wp-json\/wp\/v2\/comments?post=194"}],"version-history":[{"count":12,"href":"https:\/\/blog.lantkowiak.pl\/index.php\/wp-json\/wp\/v2\/posts\/194\/revisions"}],"predecessor-version":[{"id":196,"href":"https:\/\/blog.lantkowiak.pl\/index.php\/wp-json\/wp\/v2\/posts\/194\/revisions\/196"}],"wp:attachment":[{"href":"https:\/\/blog.lantkowiak.pl\/index.php\/wp-json\/wp\/v2\/media?parent=194"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.lantkowiak.pl\/index.php\/wp-json\/wp\/v2\/categories?post=194"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.lantkowiak.pl\/index.php\/wp-json\/wp\/v2\/tags?post=194"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}