-
Notifications
You must be signed in to change notification settings - Fork 62
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
[discussion] Improvements in existing analyzers and Additions #18
Comments
Thank you @inishchith to open this issue. We could start commenting on possible improvements and additions to trigger discussions and evaluations. Maybe later we could create other issues to focus on specific tasks. Find below some ideas, anyone is free to share his own ideas (cc @jgbarah ). too much python how to deal with multi-language repos analysis of configuration files |
Thanks for the opportunity. I share @valeriocos concerns and ideas. One additional improvement could be to run some tool / heuristics on every file to infer its programming language. This would allow to skip binary files from analysis, but also target specific tools to specific files based on language, for example. One option for this would be to use linguist, which is the tool GitHub uses for this matter. |
@jgbarah what do you think to integrate linguist as a backend in graal ? |
Not sure if as a backend, but it could be an idea. The fact is that now I'm not aware of telling graal to say something like "if it is C, run this set of tools, if it is Python, run this other set, and if it is source code in any other language, run this one". linguist could help in this. Maybe by running lingusist first (as a backend), and based on the output from it, decide on the other tools to run... |
@valeriocos Adding linguist as a backend would be really leveraged on as the project progresses. I would be interested in working on adding the backend support once i've some clarity over the idea and it's functioning.
@jgbarah That sounds interesting. I'm thinking something related to adding |
@valeriocos I'd like to some clarity over adding Edit: sorry i by mistake, closed the issue. Have reopened it |
Sure @inishchith , I'll have a look at it and go back to you in the next days. Thanks |
@valeriocos After understanding @jgbarah 's suggestion. I'm thinking we could integrate Let me know what you think :) |
Thank you @inishchith , I like the idea! Let's see how to proceed :) Why you would like to add AFAIU The new backend could rely on two analyzers, linguist and cloc, but in this case the latter would be executed on the full repo (instead of on a single file as done for the CoCom backend). What do you think ? |
@valeriocos Thanks for the response.
Sorry, I missed something out there. I was thinking on the lines of inferring the programming language may
Exactly! In that case, we should have a new backend ( CoLang, as you suggested )
Yes. This adds more clarity to the idea!. @valeriocos @jgbarah Please let me know if can start working on this. We can have a discussion on the structure of the output produced and tests to be added once incorporating the new Idea in the corresponding PR. |
Thank you for your prompt reply @inishchith ! Just an idea that popped up right now. |
Hi everyone, sorry for not being active in the discussions. College commitments are taking all of my time right now. As mentioned in the proposal, I'll be free from 16th and will work hard in thinking about CoLang as a backend |
Thank you @apoorvaanand1998 for your interest. If you want, you can also explore how to integrate:
What do you think ? List of tools: |
Sorry for the delayed response. @valeriocos
I was thinking to add
Let me know what you think. |
It sounds perfect @inishchith , feel free to start when you want, thanks. |
@valeriocos Thanks for the speedy response. @apoorvaanand1998 Thanks for your interest in the discussion. Feel free to add your ideas here. We'll have some issues open in the next few days :) |
@valeriocos I needed some suggestions here regarding the result to be produced. The output produced by
I'm thinking of the following structure of result for every snapshot at a given commit. (
What do you think? |
I'm not sure about the breakdown section, for large repositories this could be a really long list. We could start with the easiest solution, no breakdown section, and add it in the future (maybe, a breakdown at folder level). |
@valeriocos For large repositories, Yes ,it'd be a long list and cause a clutter in the result produced. |
great! thanks @inishchith |
Hi @valeriocos, sorry for the late response. I've been looking into COBOL analyzers, and I cannot find anything that is open source. Everything is a "product". The only thing I could find was this, but I couldn't find any documentation on it. I feel like this is a dead end. SonarQube has an analyzer for COBOL called SonarCOBOL, but it is only available in the enterprise edition. The link you provided for the open source SonarGraph components also require SonarGraph which is also a commercial tool. There is SonarQube community edition and SonarGraph explorer which are free and open source. Should I explore these? I don't know enough about them to know if they can even easily be integrated. While doing my research, I found Yasca which has a "COBOL analyzer". Yasca is a depreciated open source project. It had this analyzer, which if I understand correctly only does one thing - Counts the number of getmains and freemains and sees if they're equal. I don't know enough about COBOL to understand what these are though, but IMO I don't think these produce enough data? How do I proceed from here? |
@valeriocos Ping. I'm really stuck. Can you point me in the right direction? |
Sorry @apoorvaanand1998 for the late reply. What do you think about improving the support for Java projects in Graal ? A dependency analyzer for Java projects using maven or gradle could be a nice addition. Another option is to look on Internet for open source tools tailored to Java (e.g, https://devua.co/2017/07/19/java-code-quality-tools/?i=1) and select one to be included in graal. |
I shall check these out @valeriocos, thank you. I was also thinking of translating the yasca analyzer for Cobol to python, and sending a PR. At least this way we can get started with a COBOL analyzer. Does this sound like a good idea? |
You're welcome @apoorvaanand1998 .
It sounds like too much work. Probably the idea of providing support for COBOL wasn't good, as you said there is almost nothing outside to be plugged into Graal. Maybe it is better to focus on other languages, more popular and with more available analyzers. What do you think ? |
I agree @valeriocos, I shall get started on my research and when I have a clear idea, I'll open an issue for more specific discussion. Is that okay? |
that's perfect @apoorvaanand1998 , thank you :) |
This thread is for discussion related to
The text was updated successfully, but these errors were encountered: