Java Semantics


Published on

A good presentation about Java Semantics.

Published in: Technology, News & Politics
  • Be the first to comment

  • Be the first to like this

No Downloads
Total Views
On Slideshare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide
  • My research project was on the semantics of Java. Got email link … and these slides will also be available on the web along with report.
  • Semantics definition Definition of Java given by Sun, where it was developed. Just how robust and secure is it? Not very, so there’s so much research in the field.
  • Studying the semantics of any prog. lang. Helps to get a better grasp of how programs written in the language actually execute For any prog lang, public acceptance is heavily dependent on it being reliable, more importantly for mission-critical projects where unexpected behaviour could be very detrimental Java is a very versatile general programming language. There’s virtually nothing that cannot be done with Java yet can be done with some other imperative programming language. However, to some extent, this functionality might come at a cost of the security of the systems involved and a trade-off involving a lot less functionality is often necessary. Even so, Java has already come into widespread use, and its here to stay. Research in Java is so often done with the intention of determining feasible compromises with maximum functionality while maintaining adequate security.
  • Sophia and Susan developed a semantics for a substantial subset of Java. Java is still growing, and we felt the need to expand this subset as well to keep up with Java. Since my project was mainly theoretical, I have no software product to demonstrate. I hope those of you that didn’t know this will not be disappointed!
  • What we had before: Java is class-based, class has members which can be inherited by child-classes. Access mod: use to control the degree of accessibility of classes/interfaces, their members and constructors from other objects Other modifiers: final, abstract: class; final static: field; abstract final: method Constructors: the most interesting part of the project
  • Red: depicts Java features that can now be studied using the semantics
  • Public: accessible everywhere where the class is accessible Protected: accessible in subclasses Private: inaccessible from any other class default: package access … not dealt with packages due to time constraints CHECKING: required to see fields, methods, constructors are accessible
  • Final class: implementation is complete, and shouldn’t be subclassed Abstract class: insufficient information for instantiation, so defer partial implementation to be completed in subclasses Final field: cannot change value .. compares with constants in other languages definitions are well formed if a class does not try to subclass a final classs or an constructor is not invoked to create an abstract class check if assignment is attempted on a field declared final
  • Static fields: no more only instance fields Classes and interfaces have fields … shared between all instances In the SCDSE semantics, the runtime system could only store arrays and objects, now this system has been extended for Classes and interfaces, and these too can be referenced like normal objects … too technical
  • Has to determine all declared and inherited instance fields if out of memory, must exit and report error initialise static fields
  • Explicit can be: this or super if this, has statements if super, has initialisation before statements
  • We have “new C(true)”; compiled to [bool]C(true) looking at rewrite rule for constructor invocation, arg type AT is [boolean] use AT to determine most specific constructor in class in the mostspec constructor, explicit turned to be super replace that by SuperC(P,C)() which is B() determine initialisers that must be taken into consideration for class C only one … x = 5; so InitExpr is simple so eventually, the whole term is rewritten to a sequence of statements
  • Java entices a lot of programmers and researchers Even within IC, we have people in Distributed Software Engineering … and there are others in universities and research institutions like: people trying best way of extending Java: generics types to Java (Programming Language Techniques) people trying to find and eradicate loopholes in the Java security system Secure Internet Programming have discovered many important flaws in the Java and Netscape Navigator Java Virtual Machine systems.
  • I’m happy to have managed to work reasonably well in this project and get some results. There are a lot more qualified people working on similar things.
  • * 2-3 weeks spent on access modifiers for instance fields * anticipated same amount of time for methods and constructors, turned out that my rules for the fields were equally well-suited for methods and constructors * formalising the constructor rules is the most interesting part of the project for me … because this is a completely new entry in the semantics. * Skills learned: used LaTeX for report writeup … will be useful in later research work coz it’s the choice of the academics must have improved my creativity after designing semantic rules for a wide variety of test cases * is a new thing-- no one has succeeded in completely formalising Java semantics … is at the forefront of technology! Is something novel. * I hope someone in Doc will take what I’ve done and continue from there because this is a very interesting field. Most people don’t realise that studying semantics helps improve the understanding of programming language systems and is as equally important as understanding how hardware actually executes machine code. * Most important part of the project must be fact that I know a lot more about Java systems than before I started the project.
  • KB - second marker -- UROP supervisor 98 … SCD - supervisor + lots of help with semantics and other things tanya - whose work was invaluable in writing my report
  • Java Semantics

    1. 1. Romanian ARTICOLUL 1 (1) România este stat naţional, suveran şi independent, unitar şi indivizibil. (2) Forma de guvernământ a statului român este republica. (3) România este stat de drept, democratic şi social, în care demnitatea omului, drepturile şi libertăţile cetăţenilor, libera dezvoltare a personalităţii umane, dreptatea şi pluralismul politic reprezintă valori supreme, în spiritul tradiţiilor democratice ale poporului român şi idealurilor Revoluţiei din decembrie 1989, şi sunt garantate. (4) Statul se organizează potrivit principiului separaţiei şi echilibrului puterilor - legislativă, executivă şi judecătorească - în cadrul democraţiei constituţionale. (5) În România, respectarea Constituţiei, a supremaţiei sale şi a legilor este obligatorie.
    2. 2. chinese • 关于我们 • • Sinoling.com的目标是为所有学汉语者以及对中文感兴趣的人提供一 套实用并有趣的中文资料。本网站分成四个部分:汉语语言学,中文 链接,中国文化和中文参考资料。 • 汉语语言学包括有关汉语语法和语言学的资料,如部首、汉字读音、 量词等。 • 中文链接包括其它网站的链接,如在线词典、中文搜索引擎、在线新 闻网站等。 • 中国文化包括有关中国文化的资料,如古诗、古代文学、中国朝代等。 • 中文参考资料包括多种词汇及参考表,其内容是用中文、汉语拼音和 英文注写的。 • Sinoling.com是由加拿大多伦多的Matt Trueman创作和编辑的。如 果您有任何问题或建议,请随时与我们联系。
    3. 3. russian • "России впервые предстоит возглавить этот авторитетный международный форум. Но я надеюсь, что опыт, накопленный за годы российского участия в «Группе восьми», станет залогом преемственности и консолидации наших совместных усилий. Как страна- председатель видим свою задачу в придании нового импульса работе по поиску решений важнейших международных проблем в таких областях, как энергетика, образование и здравоохранение." Обращение Президента РФ В.Путина к посетителям сайта
    4. 4. japanese • • 2005 7 19
    5. 5. arabic • . • • • . • • • .
    6. 6. swedish • Använd inte TPTEST om du är ansluten till trådlösa nätverk, så kallat WLAN. Alternativet är att endast köra TCP-mätningar i Avancerat läge, såvida man inte är ensam i WLAN-nätverket eller vet att ingen annan nyttjar nätet vid det aktuella tillfället. Kör du UDP-mätningar kan du riskera att ockupera hela WLAN-nätverket under den tid mätningen utförs i högsta hastighet. WLAN, Wireless LAN, 802.11b och WiFi, är benämningar som används för den nya trådlösa LAN-tekniken. Olika standarder medger olika maxhastigheter för dataöverföring. En WLAN-sändare kan nå ett hundratal meter vid fri sikt utan hinder. I inomhusmiljöer, däremot, kan till exempel väggar och liknande hinder begränsa räckvidden till normalt ett tiotal meter. Vid längre avstånd sänks överföringshastigheten. WLAN är radiobaserat och använder sig av mikrovågor av samma frekvens som vanliga mikrovågsugnar, det vill säga runt 2,4 Ghz. Det innebär att mikrovågsugnar kan störa WLAN-nätverk om man har otur. Flera radiosändare kan aldrig sända samtidigt på samma frekvens utan att det blir störningar som förstör kommunikationen för alla inblandade parter.
    7. 7. czech • # • OKEM SATELITU • Česká republika je jedním z mála vnitrozemských států, jehož obrysy lze rozeznat na satelitních snímcích. Na snímcích z družic, které přelétají ve výšce necelých 900 km, určují přibližnou polohu ČR hraniční pohoří. • Představení České republiky • # • BOHEMIA • Latinský název Čech Boiohaemum (Bohemia) je odvozen od jména keltského kmene Bójů, kteří sídlili podle římských zpráv právě na území České republiky. • Představení České republiky • # • KALININGRAD • Ruské město Kaliningrad (dříve Königsberg) na baltském pobřeží založil na jedné ze svých válečných výprav český král Přemysl Otakar II. jako „Královec“. • Představení České republiky • STŘEDOVĚKÉ TANKY? • Bezmála pět set let před prvními tanky použil princip útočné vozby husitský vojevůdce Jan Žižka v bitvě u Malešova v roce 1424.
    8. 8. polish • W drugiej połowie XVII wieku dużą popularnością wśród Sarmatów cieszyły się pogrzeby nocne, które do tej pory uważane były za pogrzeby hańbiące, niegodne prawdziwego chrześcijanina. • Noc nadawała specyficzny charakter uroczystości pogrzebowej: późna pora uniemożliwiała uczestnictwo w niej dużej ilości gapiów i osób niepożądanych, brak ściśle ustalonych ram czasowych pozwalał na wydłużenie niektórych elementów ceremonii, zaś świece i pochodnie, niesione przez uczestników orszaku pogrzebowego, wywierały na zgromadzonych o wiele większe wrażenie niż podczas zwykłego pochówku.
    9. 9. norwegian • ENDRE BILLETT • DU KAN NÅ ENDRE BILLETTEN DIN SELV PÅ NORWEGIAN.NO under "mine reiser" i din profil. Ønsker du å endre navn på de reisende eller reise tidspunkt er dette gjort med noen få tastetrykk. • Endre billett • Det finnes unntak hvor det ikke er mulig å endre billetter på Internett. Vi har ingen endringsgaranti på Internett. • Alle endringer må skje minimum 30 minutter før opprinnelig avgangstid og kredittkortnummer må alltid oppgis ved endring. • Billetter som ikke lar seg endre på Internett må endres i åpningstiden hos vårt kundesenter. • Det vil da bli belastet et gebyr på kr. 60 på utlandsreiser og kr 65 på innlandsreiser, per person per strekning i tillegg til endrings- og oppkjøps gebyr. •
    10. 10. german • Werter Besucher! • Herzlich Willkommen auf Toms Deutschseite. Diese private Homepage ist in den letzten Monaten entstanden, um meiner ausländischen Freundin per Internet, Deutsch so gut es geht beizubringen. Ich habe dazu auf Grundlage von Büchern und anderen Internetquellen eine Vielzahl von theoretischen Erläuterungen und Übungen ausgearbeitet, um die deutsche Grammatik möglichst verständlich zu erklären. Des Weiteren befinden sich auf der Seite Vokabel- und Textübungen, Hinweise zur Aussprache und weiterführende Links. Die Themen sind nahezu ausschließlich in Englisch verfasst. Alle Erläuterungen und die meisten Übungen sind als druckfertige PDF- Dateien verfügbar.
    11. 11. finnish • Ohjeet • Kerään tällä kyselyllä palautetta Suomen kieliopin käyttäjiltä. Annettuja tietoja käytetään apuna sivujen laadinnassa. Kenenkään yksittäisen kyselyyn osallistuneen henkilön vastauksia ei julkaista sellaisenaan, vaan ainoastaan erilaisina tilastoina. Voit vastata kysymyksiin suomeksi, englanniksi, saksaksi, ruotsiksi tai viroksi. Kaikkiin kysymyksiin ei tarvitse vastata. Ellet halua osallistua kyselyyn, voit lähettää palautetta myös palautelomakkeella tai sähköpostitse ( Kyselyyn voit osallistua nimettömän
    12. 12. korean • 국립국어원은 2007년 1월 16일(화) 12:00시 김명곤 문화관광부 장관 이 참석한 가운데 국어심의회 실무 위원회 간담회의를 개최하였다. 이번 회의에는 김명곤 문화관광부 장관을 비롯하여 김수업 국어심의 회 위원장, 홍윤표 국어심의회 부위원장, 이상규 국립국어원 원장, 국 어심의회 실무 위원회 위원 등이 함께 참석하였다. 문화관광부 장관 의 자문기구로 운영되고 있는 국어심의회는 국립국어원에서 운영 실 무를 맡고 있는데 이번 회의에는 문화관광부 장관이 참석하여 여러 위원들을 격려하였다. 간담회의에서는 올바른 언어생활을 유도하고 효과적인 언어 정책을 펴기 위해서 국어심의회의 위상이 높아져야 하고 그에 따른 실질적인 지원책이 마련되어야 한다는 의견이 제기되었고 이에 대하여 적극적 으로 검토하겠다는 답변이 이어졌다. 또한 한류를 활용한 한국어 교 육을 확대하기 위해서는 현장에서 적절하게 사용할 수 있는 교재가 다양하게 개발되어야 한다는 의견도 제시되었다. 이번 간담회의는 2006년 중반부터 실질적인 기능 강화를 목표로 개 편 작업을 추진해 온 국어심의회가 2007년 구체적인 활동을 펼치기 위하여 힘찬 첫 발을 내디딜 수 있는 매우 의미 있는 자리
    1. A particular slide catching your eye?

      Clipping is a handy way to collect important slides you want to go back to later.