Indus

Yazılım ekran görüntüsü:
Indus
Yazılım detaylar:
Versiyon: 0.8
Qayıt: 3 Jun 15
Lisans: Ücretsiz
Popülerlik: 14

Rating: 5.0/5 (Total Votes: 1)

İndus programı analiz eder ve Java uygulanan dönüşümler özelleştirmek ve Java programları adapte koleksiyonu sağlamak için bir çabadır. İndus için bir şemsiye görevi amaçlanmıştır:
* Noktaları-analiz, analiz kaçış gibi statik gibi analizler ve bağımlılık analizleri,
Böyle bir program dilimleme ve kısmi değerlendirme yoluyla programın uzmanlık ve benzeri gibi * dönüşümler
* Böyle Eclipse gibi belirli bir Bandera gibi uygulama veya platform haline analizler / dönüşümleri sağlayan herhangi bir yazılım modülü.
Şu anda, Indus bir parçası olan 3 modül bulunmaktadır. Diğer modüller zaman içinde ilave edilmesi beklenmektedir. Biz şu anda mevcut her modülün niyet bir bakış sağlar.
İndus algoritmaları ve parçası olan ya da İndus bir parçası olmak planlanan analiz ve dönüşümler ortak veri yapıları ile ilgili uygulama barındıran bir modül. Bu modül analizleri çeşitli uygulamalar / dönüşümler kolaylıkla sistemleri oluşturmak üzere kombine edilebilir bir çerçeve sağlamak için en analizler ve dönüşüme arayüz tanımı ortak içeriyor. Analiz / dönüştürme yeni bir sıralama Indus bir modül olarak uygulanması Bu yüzden, bu modül güncellenir. Varolan bir arayüz uygulayacak Ancak, bir analiz / dönüşümün yeni bir uygulaması bu modülü etkilemeyecektir.
StaticAnalyses modülü, statik toplama nesne akış analizi gibi analizler olmak analizi kaçmak için tasarlanmıştır ve bağımlılık analizi edilir. Bu modülde analizler Indus gelen ortak arayüzleri ve uygulamaları kullanabilir ve / tanımlamak yeni analizlere özgü yeni arayüzler / uygulamalar sağlayabilir. Mevcut analizler aşağıda belirtilmiştir.
* Nesne-akış analizi (OFA) Java için bir puan arası analizidir. Analiz sistemindeki her ayırma sitesi soyut bir nesne olarak kabul edilir ve sistem yoluyla akış kesin bir çağrı grafiğin inşaat etkinleştirmek için bir çağrı yerinde olası türleriyle bir alıcı anlaması izlenir. Analiz hassas yöntemi yerel değişkenler ve örnek alanları için nesne duyarlılık için akış duyarlılık açısından değiştirilebilir.
* Analiz budama müdahale ve hazır bağımlılık kenarları amacıyla Ruf tarafından önerilen kaçış analizinin uzun bir uygulamasıdır kaçış. uzantıları çelişkili alanın tespiti geliştirmek için analiz değeri denklik kesintisiz ilave şeklindedir / sadece erişim ifadelerin Primer tip eşitliğini kullanarak ötesinde farklı evrelerde meydana gelen yazar okur. analizi daha da hassasiyetin artırılması için ortogonal olarak nesne akış bilgilerini kullanır.
, Çıkış-tabanlı kontrol, tanımlayıcı tabanlı veri, analiz / dönüşümler için gerekli referans tabanlı veri, girişim, hazır, senkronizasyon ve sapma gibi bir program dilimleme ve kısmi değerlendirme girişi tabanlı kontrol: * Bağımlılık Analizleri bağımlılık bir koleksiyon analizleri ise . Girişim ve Hazır bağımlılık referans tabanlı veri ve senkronizasyon bağımlılığı nesne akış bilgileri ve hesaplanan çağrı grafik bilgilerine bağlıdır analizler sırasında önceki kaçış analizi bağlıdır analiz eder. Bazı analizler iyi tanımlanmış bir arabirim üzerinden değiştirilebilir hassas çeşitli düzeylerde var.
* Yan Etki Analizi yöntemi düzeyinde yan etki bilgi sağlar. Bir çağrı sitesi / yöntemi argüman / parametrelerden herhangi birini dolaylı (yinelemeli ulaşılabilir üyeleri) doğrudan (dolaysız üyeleri) ya etkilenen veya olacak eğer kullanıcı sorgulayabilirsiniz. Veri erişim yolunun bitiş noktası arama / yöntemle etkilenen Benzer şekilde, kullanıcı arama sitesi / yöntem ve sorguya argümanlar / parametrelerinde köklü bir veri erişim yolu sağlayabilir.
* Monitörü anlaysis verilen sistem için monitör / kilit grafik bilgi sağlayan basit bir analizdir.
* Güvenli Kilit Analizi Kilit (monitörler) süresiz tutulamaz eğer konservatif keşfeder bir analizdir. Bu bilgiler, Object.wait () ve hazır bağlı olarak yapıldığı gibi Object.notify () / Object.notifyAll () zamansal bağımlılıklar Sap ile bağlantılı olarak kullanılır.
* Atomsallık Analizi verilen sistemde bölünmezlik hakkında bilgi sağlar. Geçerli uygulama bir açıklama atomik idam edilebilir olmadığını tahmin kaçış analizine dayanır. Bu bilgi kodlarının atom bölgesini tespit etmek için kullanılır. Bu bilgiler, devlet alanı boyutunu azaltmak için kontrol gibi model olarak uygulamalarda faydalıdır, dolayısıyla performansını artırmak.
Bazı analizler kendi modülü oluşturacak kadar büyük olabilir ve bu tür analizler yerine bu modül tarafından tüketilen daha İndus gibi farklı modüller ev sahipliği yapacak.
Java Programı Slicer modülü gibi Bandera ve Eclipse gibi diğer uygulamalarda dilimleyici teslim adaptörleri ile birlikte Java programı dilimleme makinesi çekirdek uygulanmasını içerir. Uygulama bir kütüphane olarak yerine 's subparts yeniden kullanımını kolaylaştırmak için bir uygulama olarak tasarlandı edilir. Çekirdek uygulama bağımsızdır; Dilim Her uygulamanın gereksinimi post-processing arayüzleri uygulamaları kadar kodlama ve özelleştirilmiş bir dilimleme makinesi oluşturmak için bu uygulamalarda çengel memnun olabilir.
Bu modül dilimleme için kullanılacak dış uygulamaları sağlayan iyi tanımlanmış arayüzler aracılığıyla OFA tarafından sağlanan çağrı grafik analizleri ve aynı zamanda bağımlılık tarafından sağlanan bilgilere dayanmaktadır.
Bıçağımızı Bu uygulama Kaveri plugin yoluyla sezgisel kullanıcı arayüzü ile Eclipse teslim edilir.
Özellikler: o
Geriye ve İleriye dilim nesil. Komple dilimleri (geri ve ileri birliği
) Aynı dilim kriterlerine başlayarak dilim oluşturulabilir.
* Çalıştırılabilir sınıf dosyaları içine residualize (uygun) dilimleri destek.
* Bağlam zengin dilim kriterleri şartname üzerinden içeriğe duyarlı dilimleme için destek.
* Destek kapsamı özelliklerine göre sistemin belirli bir kısmına dilim kısıtlamak için.
* Destek dilim kriterleri, dilimleme yapılandırmaları ve dilimleri serialize.
McGill Üniversitesi Sable grup İs araç kiti tarafından sağlanan Jimple, Java bir ara temsiline İndus proje çalışmalarında tüm modüller. Sağlanan bilgiler bir grafik kullanıcı arayüzü üzerinden kullanıcıya kullanışlı ve kullanıcı tüketimi için müsait olup olmadığını projeye Her modül bir veya daha fazla Eclipse eklentileri olarak maruz kalacağı.
Yazılım Mühendisliği Felsefe
Bu projede her bir modül belirli şartı yerine getirmek uygun uzantıları ile özel bir sistem montajı için uygulanabilir iyi tanımlanmış arayüzler aracılığıyla sadece gerekli işlevleri sağlayacaktır. Arayüzü açık uygulama ayrılır gibi, gerekli bir arayüz sağlar herhangi bir harici uygulama sorunsuz bu projenin modülleri ile kullanılabilir.
Arka plân
analizlerin çoğu uygulama Bandera tarafından gerekli Java programı bıçağımızı gereklerine sürüldü. Program dilimleyici Bandera dışında kullanılabilir ve analizler bu tür kısmi değerlendirme yoluyla programın uzmanlık gibi diğer dönüşümleri sağlamak için kullanılan olabilir Ancak, biz İndus adlı yeni bir projeye analizler ve dönüşümleri taşındı.

Yorumlar Indus

Yorum Bulunamadı
Yorum eklemek
Görüntülerde açın!