yajta

Yajta is a extensible library for bytecode probe insertion, built on top of javassist. Its transformations may be applied at load time with an agent or offline.

https://github.com/assert-kth/yajta

Science Score: 44.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (9.8%) to scientific vocabulary
Last synced: 7 months ago · JSON representation ·

Repository

Yajta is a extensible library for bytecode probe insertion, built on top of javassist. Its transformations may be applied at load time with an agent or offline.

Basic Info
  • Host: GitHub
  • Owner: ASSERT-KTH
  • Language: Java
  • Default Branch: master
  • Homepage:
  • Size: 404 KB
Statistics
  • Stars: 15
  • Watchers: 13
  • Forks: 6
  • Open Issues: 9
  • Releases: 3
Created about 8 years ago · Last pushed over 3 years ago
Metadata Files
Readme Citation

README.md

Yajta (Yet Another Java Tracing Agent)

Yajta is a extensible library for bytecode probe insertion. It is built on top of javassist. It allows to build tracing agents but it is not limited to this task. Probe insertion can be done both offline and at load time. So far, probes can be inserted only at the begining and the end of methods and/or at any branching point.

Further more several tools that make use of that library are provided:

  • An agent that allow probe insertion at run time (See Agent_README and AgentUsagesREADME.md) (Example of traces collected on common open source libraries can be found here.)
  • An agent that check that an execution follow a previous trace (See Follower_README)
  • A tool that generate a test impact report (A json file containing for each method of the explored project the list of test the call it.) (See TIE_README)
  • A way to insert probe offline (See API_README)

Maven

Yajta can be depended upon by a maven project by including the following snippet in its pom.xml xml <dependency> <artifactId>yajta-core</artifactId> <groupId>se.kth.castor</groupId> <version>2.0.2</version> </dependency> The offline instrumenter can be used with xml <dependency> <artifactId>yajta-offline</artifactId> <groupId>se.kth.castor</groupId> <version>2.0.2</version> </dependency> A version of yajta with limited dependencies (should be enough to run instrumented code reffering to loggs impplemented in yajta) may be used with xml <dependency> <artifactId>yajta-lean</artifactId> <groupId>se.kth.castor</groupId> <version>2.0.2</version> </dependency>

Owner

  • Name: ASSERT
  • Login: ASSERT-KTH
  • Kind: organization
  • Location: Sweden

assertEquals("Research group at KTH Royal Institute of Technology, Stockholm, Sweden", description);

Citation (CITATION.cff)

cff-version: 1.2.0
preferred-citation:
  title: "Yajta: An extensible library for bytecode probe insertion"
  year: "2019"
  type: misc
  url: https://github.com/castor-software/yajta
  authors:
    - family-names: Harrand
      given-names: Nicolas

GitHub Events

Total
Last Year

Dependencies

core/pom.xml maven
  • com.beust:jcommander 1.27
  • com.github.gumtreediff:client 2.0.0
  • com.github.gumtreediff:core 2.0.0
  • com.google.guava:guava 26.0-jre
  • net.openhft:chronicle-queue 4.16.4
  • org.javassist:javassist 3.22.0-GA
  • org.json:json 20090211
  • org.ow2.asm:asm 5.0.3
  • org.slf4j:slf4j-ext 1.6.6
lean/pom.xml maven
  • se.kth.castor:yajta-offline 2.0.3-SNAPSHOT
  • junit:junit 4.11 test
offline/pom.xml maven
  • se.kth.castor:yajta-core 2.0.3-SNAPSHOT
  • junit:junit 4.11 test
pom.xml maven
  • junit:junit 4.12 test
test/helloworld/pom.xml maven
  • junit:junit 4.12