Robin Rowe tarafından geliştirilen Trapc programlama dili, C/C ++ 'da yaygın bellek problemlerini ve taşma tamponunu önlemeyi amaçlayan BT güvenliği konusunda uzmanlaşmış bir C varyantıdır. Rowe projesini Şubat ayında son ISO-C toplantısında sundu ve derleyicinin açık kaynağının 2025 sonunda mevcut olduğu söyleniyor.
Duyuru
Robin ile güvenlik ve fikrinin geleceği hakkında konuşuyoruz. Röportaj İngilizce ve bazı yerlerde orijinal formülasyona atıfta bulunuyoruz.
Trapc mucidi Profesör Rowe, Maryland, Baltimore'daki KI Araştırma Enstitüsü Fountain Abade CEO'sudur. Dünya Sağlık Örgütü (WHO) artırılmış gerçeklik grubuna liderlik etti ve acil tıp alanında doktorları eğitmek için hastane simülasyonları için bir 3D savaş oyunu yazılımı tasarladı. Diğer Hollywood istasyonları, Disney'in Marvel Spider-Man ve diğer birçok harika sinematografik filmde görsel efektler için kullanılan gerçek zamanlı animasyon yazılımı geliştiricileriydi. Ayrıca yapay zekanın ilk işlenmesini, Amerika Birleşik Devletleri Ulusal Savunma Sistemine entegre edilen doğal dilin gerçek zamanlı olarak tasarladı.
Robin, neden C/C ++ 'dan tam olarak daha güvenli?
Yazılım güvenliğinin basitçe açıkladığını düşünmek için, bugünün son teknolojisi olan C ve C ++ kodunda tipik hatalar meydana geldiğinde ne olacağı hakkında bazı temel sorular sormalıyız.
Sıfır bir işaretçinin içeriğine erişirseniz, yani geçerli olmayan bir bellek okur veya yazmazsa ne olur? Veya bir yığın işaretçisi ücretsiz bir ücretsiz tarafından yanlış kullanılırsa veya Freete kullanın mı? İstilacı bir sürüntü ne zaman ortaya çıkıyor, sıfır, bütün pitfruit, nan yüzen nokta veya vahşi bir işaretçi ile bölünüyor? C veya C ++: ne olacağı belirsiz bir davranıştır.
Bu, bir kazaya, sıfır güne veya diğer hoş olmayan davranışlara kadar bir güvenlik boşluğuna yol açabilir. C- ve C ++ programcıları dikkatli olmalı ve koddaki hataların nerede olabileceğini öngörmeli ve bu nedenle defansif olarak planlamalıdır: programcının uzman olması ve çok, çok dikkatli olması gereken bir dünya.
Genel Bakışta CEAT TEST CONCT C'den C'den
(Resim: Robin Rowe)
Öte yandan Trapc başarısız oldu. Hatalara C ve C ++ veya bildiğim diğer herhangi bir programlama dilinden çok farklı bir şekilde tepki verir. Trapc dilinde beklenmedik bir olay meydana gelirse, bir tuzak olayını tetikler. Programcı kişiselleştirilmiş bir tuzak yöneticisi yazdıysa, Trapc onu arayacaktır. Aksi takdirde, yararlı bir hata mesajı harcayan ve yürütmeyi bitiren standart tuzak yöneticisini hatırlar. Tamamlanan C kodu ile TRAPC çökmez ve bilgisayar korsanları için bir saldırı alanı sunmaz.
Geliştiriciler Trapc kullandıklarında ne yeniden düşünmelidir?
C veya C ++ 'a aşina olan programcılar, Trapc: Memory Güvenli İşaretçi (ayrıca MSP)' de üç yeni işlev öğrenmelidir. trap VE alias. C ++ biliyorsanız, Trapc'in üreticileri, muhripleri, üyelerin işlevleri ve C ++ gibi görünen standart konular vardır. C veya C ++ bilgi olmadan bile TRAPC'yi öğrenmek zor değildir. Trapc'in altmış anahtar kelimesi var, C'ye kadar
trap benzer şekilde kullanılır catch C ++. İstisnaların aksine, TRAPC arıza güvenliinin test mantığıdır. C ++ 'da, programcılar bir şey bırakma hatalarının beklentisi konusunda çok dikkatli olmalıdır (orijinalinde “lansman”). TRAPC'de, bir program asla sınır dışı edilmeyen bir şey (orijinalinde “doğru” yakalayabilir, örneğin sıfır başına bölünme tuzakları.
alias Benzer şekilde kullanılabilir #define C. alias Ön işlemcinin değiştirilmesini nasıl sağladığını sunar. TRAPC'in modelleri veya operatörlerin aşırı yükü yoktur ve yine de izin verir alias C ++-STL ve iostream kaplarının API'sını taklit eden kaplar ve kitapçılar oluşturmak.
TRAPC bellek için güvenli işaretçi, arabelleğin üstesinden gelmek, bellek kaybını, çift ve işe yaramaz kullanım gibi boş alanlardan kaçının. Öte yandan, beş zamanlı performans kaybı ve kabul edilemez süpürme tatlandırmaları ile bir pişirme koleksiyonundan da kaçınabilirsiniz. Bununla birlikte, otomatik ve otomatik belleğin bellek güvenliği ile otomatik yönetimi, işaretçinin geleneksel dinamiklerini değiştiren ve bir kodun mirası kullanılamaz hale getiren fiyata sahiptir.
MSP'ler bu şekilde çalışır: başlangıçta anısı olan bir MSP malloc Aldı, ilk sahibi bir işaretçi. Aynı bellek bloğunu gösteren diğer MSP, bir sahibat değil, bir takma addır. MSP'ler, yalnızca bir sahip olduğu için referans sayısı veya çöp toplama işlemi yapmamalıdır. C ++ Programcılar, sahibinin oyuncusu ile biraz deneyime sahiptir. std::unique_ptr. Sahibinin bir işaretçisi, kapsamdan ayrıldığında bellek serbest bırakır. MSP daha fazlasını yapabilir unique_ptr. TRAPC, bir takma adın orijinal sahip işaretçisinin sahipliğini geri çekmek için teşvik edildiğinde kuralları vardır. Tüm Trapc bahisçileri MSP ve depolama testidir, ancak sözdizimi C veya C ++'dakine eşittir.
TRAPC, bir C veya C ++ programcısının beklemesi için belleği serbest bırakabilir ve sıfıra bir işaretçi koyabilir. C ve C ++ 'da, malloc VEYA new Manuel olarak serbest bırakılana kadar sonsuza kadar yaratıldılar. C- ve C ++ Aliase işaretçisi asla düzenlenmez, ancak sonsuza dek direnir. MSP, feribot olmadan kullanma sorunlarını önler, açgözden ayrılan ve takma adlarını sıfıra koyan sahibinin sahiplerini bırakır. Trapc, C ve C ++ gibi işaretçilerle uğraşmada daha titizdir. Bayraklarla doldurmanın ihtiyatlı uygulaması olarak Trapc ile yeni derleme -Wall VE -Wextra Linux altında tanıtın.
Trapc ile olan vizyonunuz nedir? C ve hatta C ++ için tam bir yedek olacak mı?
Mevcut soru, kodun oluşturulmasına üretken IA aracılığıyla ne kadar güvenebiliriz? Google ve NVIDIA'nın CEO'su, kodlarının yüzde yirmisinin şimdi yapay zeka tarafından oluşturulduğunu ve bu oranın artmaya devam ettiğini belirtti. Üretken yapay zeka, Microsoft Github ve kusursuz olmayan diğer depolar tarafından kaynak kodu ile eğitildi. İnsan programcılarının yapabileceğinden daha iyi bir yapay zekaya sahip olmak için güvenli bir süper ekin (orijinalde “süper zeka güvenliği”) elde etmek için, geçmiş ve gelecekteki kodları dezenfekte etmek için Trapc olarak bir başarısız programlama diline ihtiyacımız var.
Trapc, “Süper Zeka” nın, çökemeyen kod oluşturan çok üretken olanın yoludur. TRAPC dili için vizyonum, anlaşılması kolay ve sık programlama hatalarını hariç tutan tek güvenli, çökmüş ve yüksek performanslı programlama dili olacağıdır. Trapc bu vizyonu 2025'te daha sonra fark ederse, birisi neden size yardımcı veya size yardımcı olmadan programlama için farklı bir dil kullanmalı?
Robin, cevaplar için çok teşekkür ederim!
“Üç Soru ve Cevaplar” dizisinde, IX, kullanıcının PC'nin önünde görünüm, yöneticinin vizyonu veya bir yöneticinin günlük ömrü olsun, mevcut zorlukları kısaca elde etmek istiyor. Günlük uygulamanızdan mı yoksa kullanıcılarınızdan mı önerileriniz var? Kısaca ve gevrek okumak istersiniz? Bu yüzden lütfen bize yazın veya foruma yorum bırakın.
(DSÖ)
Duyuru
Robin ile güvenlik ve fikrinin geleceği hakkında konuşuyoruz. Röportaj İngilizce ve bazı yerlerde orijinal formülasyona atıfta bulunuyoruz.

Trapc mucidi Profesör Rowe, Maryland, Baltimore'daki KI Araştırma Enstitüsü Fountain Abade CEO'sudur. Dünya Sağlık Örgütü (WHO) artırılmış gerçeklik grubuna liderlik etti ve acil tıp alanında doktorları eğitmek için hastane simülasyonları için bir 3D savaş oyunu yazılımı tasarladı. Diğer Hollywood istasyonları, Disney'in Marvel Spider-Man ve diğer birçok harika sinematografik filmde görsel efektler için kullanılan gerçek zamanlı animasyon yazılımı geliştiricileriydi. Ayrıca yapay zekanın ilk işlenmesini, Amerika Birleşik Devletleri Ulusal Savunma Sistemine entegre edilen doğal dilin gerçek zamanlı olarak tasarladı.
Robin, neden C/C ++ 'dan tam olarak daha güvenli?
Yazılım güvenliğinin basitçe açıkladığını düşünmek için, bugünün son teknolojisi olan C ve C ++ kodunda tipik hatalar meydana geldiğinde ne olacağı hakkında bazı temel sorular sormalıyız.
Sıfır bir işaretçinin içeriğine erişirseniz, yani geçerli olmayan bir bellek okur veya yazmazsa ne olur? Veya bir yığın işaretçisi ücretsiz bir ücretsiz tarafından yanlış kullanılırsa veya Freete kullanın mı? İstilacı bir sürüntü ne zaman ortaya çıkıyor, sıfır, bütün pitfruit, nan yüzen nokta veya vahşi bir işaretçi ile bölünüyor? C veya C ++: ne olacağı belirsiz bir davranıştır.
Bu, bir kazaya, sıfır güne veya diğer hoş olmayan davranışlara kadar bir güvenlik boşluğuna yol açabilir. C- ve C ++ programcıları dikkatli olmalı ve koddaki hataların nerede olabileceğini öngörmeli ve bu nedenle defansif olarak planlamalıdır: programcının uzman olması ve çok, çok dikkatli olması gereken bir dünya.

Genel Bakışta CEAT TEST CONCT C'den C'den
(Resim: Robin Rowe)
Öte yandan Trapc başarısız oldu. Hatalara C ve C ++ veya bildiğim diğer herhangi bir programlama dilinden çok farklı bir şekilde tepki verir. Trapc dilinde beklenmedik bir olay meydana gelirse, bir tuzak olayını tetikler. Programcı kişiselleştirilmiş bir tuzak yöneticisi yazdıysa, Trapc onu arayacaktır. Aksi takdirde, yararlı bir hata mesajı harcayan ve yürütmeyi bitiren standart tuzak yöneticisini hatırlar. Tamamlanan C kodu ile TRAPC çökmez ve bilgisayar korsanları için bir saldırı alanı sunmaz.
Geliştiriciler Trapc kullandıklarında ne yeniden düşünmelidir?
C veya C ++ 'a aşina olan programcılar, Trapc: Memory Güvenli İşaretçi (ayrıca MSP)' de üç yeni işlev öğrenmelidir. trap VE alias. C ++ biliyorsanız, Trapc'in üreticileri, muhripleri, üyelerin işlevleri ve C ++ gibi görünen standart konular vardır. C veya C ++ bilgi olmadan bile TRAPC'yi öğrenmek zor değildir. Trapc'in altmış anahtar kelimesi var, C'ye kadar
trap benzer şekilde kullanılır catch C ++. İstisnaların aksine, TRAPC arıza güvenliinin test mantığıdır. C ++ 'da, programcılar bir şey bırakma hatalarının beklentisi konusunda çok dikkatli olmalıdır (orijinalinde “lansman”). TRAPC'de, bir program asla sınır dışı edilmeyen bir şey (orijinalinde “doğru” yakalayabilir, örneğin sıfır başına bölünme tuzakları.
alias Benzer şekilde kullanılabilir #define C. alias Ön işlemcinin değiştirilmesini nasıl sağladığını sunar. TRAPC'in modelleri veya operatörlerin aşırı yükü yoktur ve yine de izin verir alias C ++-STL ve iostream kaplarının API'sını taklit eden kaplar ve kitapçılar oluşturmak.
TRAPC bellek için güvenli işaretçi, arabelleğin üstesinden gelmek, bellek kaybını, çift ve işe yaramaz kullanım gibi boş alanlardan kaçının. Öte yandan, beş zamanlı performans kaybı ve kabul edilemez süpürme tatlandırmaları ile bir pişirme koleksiyonundan da kaçınabilirsiniz. Bununla birlikte, otomatik ve otomatik belleğin bellek güvenliği ile otomatik yönetimi, işaretçinin geleneksel dinamiklerini değiştiren ve bir kodun mirası kullanılamaz hale getiren fiyata sahiptir.
MSP'ler bu şekilde çalışır: başlangıçta anısı olan bir MSP malloc Aldı, ilk sahibi bir işaretçi. Aynı bellek bloğunu gösteren diğer MSP, bir sahibat değil, bir takma addır. MSP'ler, yalnızca bir sahip olduğu için referans sayısı veya çöp toplama işlemi yapmamalıdır. C ++ Programcılar, sahibinin oyuncusu ile biraz deneyime sahiptir. std::unique_ptr. Sahibinin bir işaretçisi, kapsamdan ayrıldığında bellek serbest bırakır. MSP daha fazlasını yapabilir unique_ptr. TRAPC, bir takma adın orijinal sahip işaretçisinin sahipliğini geri çekmek için teşvik edildiğinde kuralları vardır. Tüm Trapc bahisçileri MSP ve depolama testidir, ancak sözdizimi C veya C ++'dakine eşittir.
TRAPC, bir C veya C ++ programcısının beklemesi için belleği serbest bırakabilir ve sıfıra bir işaretçi koyabilir. C ve C ++ 'da, malloc VEYA new Manuel olarak serbest bırakılana kadar sonsuza kadar yaratıldılar. C- ve C ++ Aliase işaretçisi asla düzenlenmez, ancak sonsuza dek direnir. MSP, feribot olmadan kullanma sorunlarını önler, açgözden ayrılan ve takma adlarını sıfıra koyan sahibinin sahiplerini bırakır. Trapc, C ve C ++ gibi işaretçilerle uğraşmada daha titizdir. Bayraklarla doldurmanın ihtiyatlı uygulaması olarak Trapc ile yeni derleme -Wall VE -Wextra Linux altında tanıtın.
Trapc ile olan vizyonunuz nedir? C ve hatta C ++ için tam bir yedek olacak mı?
Mevcut soru, kodun oluşturulmasına üretken IA aracılığıyla ne kadar güvenebiliriz? Google ve NVIDIA'nın CEO'su, kodlarının yüzde yirmisinin şimdi yapay zeka tarafından oluşturulduğunu ve bu oranın artmaya devam ettiğini belirtti. Üretken yapay zeka, Microsoft Github ve kusursuz olmayan diğer depolar tarafından kaynak kodu ile eğitildi. İnsan programcılarının yapabileceğinden daha iyi bir yapay zekaya sahip olmak için güvenli bir süper ekin (orijinalde “süper zeka güvenliği”) elde etmek için, geçmiş ve gelecekteki kodları dezenfekte etmek için Trapc olarak bir başarısız programlama diline ihtiyacımız var.
Trapc, “Süper Zeka” nın, çökemeyen kod oluşturan çok üretken olanın yoludur. TRAPC dili için vizyonum, anlaşılması kolay ve sık programlama hatalarını hariç tutan tek güvenli, çökmüş ve yüksek performanslı programlama dili olacağıdır. Trapc bu vizyonu 2025'te daha sonra fark ederse, birisi neden size yardımcı veya size yardımcı olmadan programlama için farklı bir dil kullanmalı?
Robin, cevaplar için çok teşekkür ederim!
“Üç Soru ve Cevaplar” dizisinde, IX, kullanıcının PC'nin önünde görünüm, yöneticinin vizyonu veya bir yöneticinin günlük ömrü olsun, mevcut zorlukları kısaca elde etmek istiyor. Günlük uygulamanızdan mı yoksa kullanıcılarınızdan mı önerileriniz var? Kısaca ve gevrek okumak istersiniz? Bu yüzden lütfen bize yazın veya foruma yorum bırakın.
(DSÖ)