Skip to content

Add a new field in Callable to denote if the callable can be an entrypoint #86

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
7 tasks
rahlk opened this issue Dec 19, 2024 · 0 comments
Closed
7 tasks
Assignees

Comments

@rahlk
Copy link
Collaborator

rahlk commented Dec 19, 2024

Is your feature request related to a problem? Please describe

No. It would be preferable to connote if methods are potential application entry points.

Describe the solution you'd like

We would like to see an new field in the analysis.json object to capture a boolean flag to denote if a callable is an entrypoint or not.

Please use the implementation from https://yanniss.github.io/enterprise-pldi20.pdf

The following features are requested:

  • For servlet based application, Accurate capture of ordering of control flow from service entry points and other related items discussed in issue
  • For servlet based application, Identify functional entry points i.e where functional operation happens like code logic, request, response access etc. and ignore methods in the slice that just passes the req, resp object
  • Identify importance of code statements in the method/slice
  • For servlet based application, filter entry points that doesn't seem obsolete or does not contribute to key functionalities like logging, testing api etc.
  • Expand to other strategically important frameworks like spring, struts, jsf, jax-rs
  • Understand presence of different modules in an enterprise applications (multiple wars in an ear) and summarize app based on module awareness
  • Cluster capabilities within an application (like candidate microservices from mono2micro) and summarise capabilities

Describe alternatives you've considered

We do this in CLDK currently, but it seems to be error prone and flaky when CLDK objects are parallelized.

Additional context

N/A

@rahlk rahlk added the enhancement New feature or request label Dec 19, 2024
@rahlk rahlk self-assigned this Dec 19, 2024
@rahlk rahlk removed the enhancement New feature or request label Feb 4, 2025
rahlk added a commit that referenced this issue Feb 5, 2025
… attempts to address the feature request #86

Signed-off-by: Rahul Krishna <i.m.ralk@gmail.com>
rahlk added a commit that referenced this issue Feb 5, 2025
Signed-off-by: Rahul Krishna <i.m.ralk@gmail.com>
rahlk added a commit that referenced this issue Feb 5, 2025
Signed-off-by: Rahul Krishna <i.m.ralk@gmail.com>
@rahlk rahlk closed this as completed Feb 5, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants