Implementing Java Modeling Language Contracts with AspectJ

Saved in:
Bibliographic Details
Title: Implementing Java Modeling Language Contracts with AspectJ
Authors: Henrique Rebêlo, Sérgio Soares, Ricardo Lima, Márcio Cornélio, Leopoldo Ferreira
Contributors: The Pennsylvania State University CiteSeerX Archives
Source: http://www.cin.ufpe.br/~hemr/papers/SAC08_rebelo.pdf.
Publication Year: 2008
Collection: CiteSeerX
Subject Terms: Categories and Subject Descriptors D.1 [Software, Programming Techniques—Aspect-Oriented Programming, D.3.2 [Programming Languages, Languages Classifications—JML General Terms Languages, Experimentation Keywords Design by contract, JML language, JML compiler, aspectoriented programming, AspectJ
Description: The Java Modeling Language (JML) is a behavioral interface specification language (BISL) designed for Java. It was developed to improve functional software correctness of Java applications. However, the JML compiler explores the reflection technique and data structures not supported by Java ME applications. In order to eliminate such a problem, this paper proposes the use of AspectJ to implement a new JML compiler, which generates an instrumented bytecode compliant with both Java SE and Java ME applications. The paper includes a comparative study to demonstrate the quality of the final code generated by our compiler. The size of the code is compared against the code generated by an existent JML compiler. Moreover, we evaluate the amount of additional code required to implement the JML assertions in Java applications. Results indicate that the overhead in the code size produced by our approach is very small, which is essential for Java ME applications.
Document Type: text
File Description: application/pdf
Language: English
Relation: http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.159.4022; http://www.cin.ufpe.br/~hemr/papers/SAC08_rebelo.pdf
Availability: http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.159.4022
http://www.cin.ufpe.br/~hemr/papers/SAC08_rebelo.pdf
Rights: Metadata may be used without restrictions as long as the oai identifier remains attached to it.
Accession Number: edsbas.458302EE
Database: BASE
FullText Text:
  Availability: 0
CustomLinks:
  – Url: http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.159.4022#
    Name: EDS - BASE (s4221598)
    Category: fullText
    Text: View record from BASE
  – Url: https://www.webofscience.com/api/gateway?GWVersion=2&SrcApp=EBSCO&SrcAuth=EBSCO&DestApp=WOS&ServiceName=TransferToWoS&DestLinkType=GeneralSearchSummary&Func=Links&author=Reb%C3%AAlo%20H
    Name: ISI
    Category: fullText
    Text: Nájsť tento článok vo Web of Science
    Icon: https://imagesrvr.epnet.com/ls/20docs.gif
    MouseOverText: Nájsť tento článok vo Web of Science
Header DbId: edsbas
DbLabel: BASE
An: edsbas.458302EE
RelevancyScore: 839
AccessLevel: 3
PubType: Academic Journal
PubTypeId: academicJournal
PreciseRelevancyScore: 838.664306640625
IllustrationInfo
Items – Name: Title
  Label: Title
  Group: Ti
  Data: Implementing Java Modeling Language Contracts with AspectJ
– Name: Author
  Label: Authors
  Group: Au
  Data: <searchLink fieldCode="AR" term="%22Henrique+Rebêlo%22">Henrique Rebêlo</searchLink><br /><searchLink fieldCode="AR" term="%22Sérgio+Soares%22">Sérgio Soares</searchLink><br /><searchLink fieldCode="AR" term="%22Ricardo+Lima%22">Ricardo Lima</searchLink><br /><searchLink fieldCode="AR" term="%22Márcio+Cornélio%22">Márcio Cornélio</searchLink><br /><searchLink fieldCode="AR" term="%22Leopoldo+Ferreira%22">Leopoldo Ferreira</searchLink>
– Name: Author
  Label: Contributors
  Group: Au
  Data: The Pennsylvania State University CiteSeerX Archives
– Name: TitleSource
  Label: Source
  Group: Src
  Data: <i>http://www.cin.ufpe.br/~hemr/papers/SAC08_rebelo.pdf</i>.
– Name: DatePubCY
  Label: Publication Year
  Group: Date
  Data: 2008
– Name: Subset
  Label: Collection
  Group: HoldingsInfo
  Data: CiteSeerX
– Name: Subject
  Label: Subject Terms
  Group: Su
  Data: <searchLink fieldCode="DE" term="%22Categories+and+Subject+Descriptors+D%2E1+[Software%22">Categories and Subject Descriptors D.1 [Software</searchLink><br /><searchLink fieldCode="DE" term="%22Programming+Techniques—Aspect-Oriented+Programming%22">Programming Techniques—Aspect-Oriented Programming</searchLink><br /><searchLink fieldCode="DE" term="%22D%2E3%2E2+[Programming+Languages%22">D.3.2 [Programming Languages</searchLink><br /><searchLink fieldCode="DE" term="%22Languages+Classifications—JML+General+Terms+Languages%22">Languages Classifications—JML General Terms Languages</searchLink><br /><searchLink fieldCode="DE" term="%22Experimentation+Keywords+Design+by+contract%22">Experimentation Keywords Design by contract</searchLink><br /><searchLink fieldCode="DE" term="%22JML+language%22">JML language</searchLink><br /><searchLink fieldCode="DE" term="%22JML+compiler%22">JML compiler</searchLink><br /><searchLink fieldCode="DE" term="%22aspectoriented+programming%22">aspectoriented programming</searchLink><br /><searchLink fieldCode="DE" term="%22AspectJ%22">AspectJ</searchLink>
– Name: Abstract
  Label: Description
  Group: Ab
  Data: The Java Modeling Language (JML) is a behavioral interface specification language (BISL) designed for Java. It was developed to improve functional software correctness of Java applications. However, the JML compiler explores the reflection technique and data structures not supported by Java ME applications. In order to eliminate such a problem, this paper proposes the use of AspectJ to implement a new JML compiler, which generates an instrumented bytecode compliant with both Java SE and Java ME applications. The paper includes a comparative study to demonstrate the quality of the final code generated by our compiler. The size of the code is compared against the code generated by an existent JML compiler. Moreover, we evaluate the amount of additional code required to implement the JML assertions in Java applications. Results indicate that the overhead in the code size produced by our approach is very small, which is essential for Java ME applications.
– Name: TypeDocument
  Label: Document Type
  Group: TypDoc
  Data: text
– Name: Format
  Label: File Description
  Group: SrcInfo
  Data: application/pdf
– Name: Language
  Label: Language
  Group: Lang
  Data: English
– Name: NoteTitleSource
  Label: Relation
  Group: SrcInfo
  Data: http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.159.4022; http://www.cin.ufpe.br/~hemr/papers/SAC08_rebelo.pdf
– Name: URL
  Label: Availability
  Group: URL
  Data: http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.159.4022<br />http://www.cin.ufpe.br/~hemr/papers/SAC08_rebelo.pdf
– Name: Copyright
  Label: Rights
  Group: Cpyrght
  Data: Metadata may be used without restrictions as long as the oai identifier remains attached to it.
– Name: AN
  Label: Accession Number
  Group: ID
  Data: edsbas.458302EE
PLink https://erproxy.cvtisr.sk/sfx/access?url=https://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsbas&AN=edsbas.458302EE
RecordInfo BibRecord:
  BibEntity:
    Languages:
      – Text: English
    Subjects:
      – SubjectFull: Categories and Subject Descriptors D.1 [Software
        Type: general
      – SubjectFull: Programming Techniques—Aspect-Oriented Programming
        Type: general
      – SubjectFull: D.3.2 [Programming Languages
        Type: general
      – SubjectFull: Languages Classifications—JML General Terms Languages
        Type: general
      – SubjectFull: Experimentation Keywords Design by contract
        Type: general
      – SubjectFull: JML language
        Type: general
      – SubjectFull: JML compiler
        Type: general
      – SubjectFull: aspectoriented programming
        Type: general
      – SubjectFull: AspectJ
        Type: general
    Titles:
      – TitleFull: Implementing Java Modeling Language Contracts with AspectJ
        Type: main
  BibRelationships:
    HasContributorRelationships:
      – PersonEntity:
          Name:
            NameFull: Henrique Rebêlo
      – PersonEntity:
          Name:
            NameFull: Sérgio Soares
      – PersonEntity:
          Name:
            NameFull: Ricardo Lima
      – PersonEntity:
          Name:
            NameFull: Márcio Cornélio
      – PersonEntity:
          Name:
            NameFull: Leopoldo Ferreira
      – PersonEntity:
          Name:
            NameFull: The Pennsylvania State University CiteSeerX Archives
    IsPartOfRelationships:
      – BibEntity:
          Dates:
            – D: 01
              M: 01
              Type: published
              Y: 2008
          Identifiers:
            – Type: issn-locals
              Value: edsbas
            – Type: issn-locals
              Value: edsbas.oa
          Titles:
            – TitleFull: http://www.cin.ufpe.br/~hemr/papers/SAC08_rebelo.pdf
              Type: main
ResultId 1