Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (Cyborg)
  • No Skin
Collapse
Brand Logo

CIRCLE WITH A DOT

  1. Home
  2. Uncategorized
  3. I've seen people claiming - with a straight face - that mechanical refactoring is a good use-case for LLM-based tools.

I've seen people claiming - with a straight face - that mechanical refactoring is a good use-case for LLM-based tools.

Scheduled Pinned Locked Moved Uncategorized
59 Posts 28 Posters 49 Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • a@852260996.91268476.xyzA a@852260996.91268476.xyz

    @gabrielesvelto@mas.to it is also worth remembering that the xz incident happened WITHOUT LLMs involved, so you comparison is not a very good one

    gabrielesvelto@mas.toG This user is from outside of this forum
    gabrielesvelto@mas.toG This user is from outside of this forum
    gabrielesvelto@mas.to
    wrote last edited by
    #38

    @a how so? Now you don't need a person to run that particular exploit for years, you can just poison an LLM so that whenever someone generates a sufficiently large sequence of commits the exploit can be injected in them directly. No user intervention and it can be done at scale. And it can be done in closed-source codebases too, it's just a matter of someone using a bot on them.

    a@852260996.91268476.xyzA ruchirasdatta@mathstodon.xyzR 2 Replies Last reply
    0
    • gabrielesvelto@mas.toG gabrielesvelto@mas.to

      @a how so? Now you don't need a person to run that particular exploit for years, you can just poison an LLM so that whenever someone generates a sufficiently large sequence of commits the exploit can be injected in them directly. No user intervention and it can be done at scale. And it can be done in closed-source codebases too, it's just a matter of someone using a bot on them.

      a@852260996.91268476.xyzA This user is from outside of this forum
      a@852260996.91268476.xyzA This user is from outside of this forum
      a@852260996.91268476.xyz
      wrote last edited by
      #39

      @gabrielesvelto@mas.to you didn't need an LLM for xz, that is how

      1 Reply Last reply
      0
      • gabrielesvelto@mas.toG gabrielesvelto@mas.to

        @fourlastor you don't need to do anything special to be a target of state-sponsored actors if your rely on an LLM for your coding tasks. State-sponsored actors have almost certainly poisoned the training data of major commercial LLMs, you don't need to add anything yourself. Remember, these things are trained on anything that's dredged from the internet. *Anything*. Do you really trust what happens within the model? Remember the xz compromise? It can now be done automatically *at scale*.

        fourlastor@androiddev.socialF This user is from outside of this forum
        fourlastor@androiddev.socialF This user is from outside of this forum
        fourlastor@androiddev.social
        wrote last edited by
        #40

        @gabrielesvelto and ok, but what is the *actual* scenario you're imagining? because my coding tasks go as such when I use LLMs:
        1. I have 10-15 classes that need to change the way we do X from Y to Z
        2. I prompt the LLM, telling it "change A,B,C so that they use Z instead of Y"
        3. I review the code, fixing mistakes as I see them
        1/x because post length limits

        fourlastor@androiddev.socialF 1 Reply Last reply
        0
        • fourlastor@androiddev.socialF fourlastor@androiddev.social

          @gabrielesvelto and ok, but what is the *actual* scenario you're imagining? because my coding tasks go as such when I use LLMs:
          1. I have 10-15 classes that need to change the way we do X from Y to Z
          2. I prompt the LLM, telling it "change A,B,C so that they use Z instead of Y"
          3. I review the code, fixing mistakes as I see them
          1/x because post length limits

          fourlastor@androiddev.socialF This user is from outside of this forum
          fourlastor@androiddev.socialF This user is from outside of this forum
          fourlastor@androiddev.social
          wrote last edited by
          #41

          @gabrielesvelto
          The code change is frankly pretty simple, we're talking of stuff on the level of "migrate Book so instead of using function calls, uses annotations for ABC, update the call sites", we're not talking about "change this complex piece of code so that it does complex ABC in another complex XYZ way". The realm of errors is "I know that Foo doesn't work well by itself and needs extra care"

          fourlastor@androiddev.socialF 1 Reply Last reply
          0
          • fourlastor@androiddev.socialF fourlastor@androiddev.social

            @gabrielesvelto
            The code change is frankly pretty simple, we're talking of stuff on the level of "migrate Book so instead of using function calls, uses annotations for ABC, update the call sites", we're not talking about "change this complex piece of code so that it does complex ABC in another complex XYZ way". The realm of errors is "I know that Foo doesn't work well by itself and needs extra care"

            fourlastor@androiddev.socialF This user is from outside of this forum
            fourlastor@androiddev.socialF This user is from outside of this forum
            fourlastor@androiddev.social
            wrote last edited by
            #42

            @gabrielesvelto anything that goes over the bar of "this is stupid but boring" goes into the "I'll do it by hand because if anything I need to learn how it works before touching it"

            1 Reply Last reply
            0
            • gabrielesvelto@mas.toG gabrielesvelto@mas.to

              I've seen people claiming - with a straight face - that mechanical refactoring is a good use-case for LLM-based tools. Well, sed was developed in 1974 and - according to Wikipedia - first shipped in UNIX version 7 in 1979. On modern machines it can process files at speeds of several GB/s and will not randomly introduce errors while processing them. It doesn't cost billions, a subscription or internet access. It's there on your machine, fully documented. What are we even talking about?

              jwcph@helvede.netJ This user is from outside of this forum
              jwcph@helvede.netJ This user is from outside of this forum
              jwcph@helvede.net
              wrote last edited by
              #43

              @gabrielesvelto Just the other day I saw a goddamn professor claiming that we need to teach chatbots to reason in order for them to do math. As if we haven't had calculators that actually work every time for like 450 years. It's insane.

              1 Reply Last reply
              0
              • gabrielesvelto@mas.toG gabrielesvelto@mas.to

                @adingbatponder yes, but why? Which packages where taking so long? Firefox has almost 4 millions of lines of Rust and it takes only a few minutes to build them.

                adingbatponder@fosstodon.orgA This user is from outside of this forum
                adingbatponder@fosstodon.orgA This user is from outside of this forum
                adingbatponder@fosstodon.org
                wrote last edited by
                #44

                @gabrielesvelto No clue. At the time it was chrome that pushed it into silly territory. But this was inside a flake. All I know was when it was refactored it was able to use 32 processors instead of only 2.

                1 Reply Last reply
                0
                • gabrielesvelto@mas.toG gabrielesvelto@mas.to

                  @a how so? Now you don't need a person to run that particular exploit for years, you can just poison an LLM so that whenever someone generates a sufficiently large sequence of commits the exploit can be injected in them directly. No user intervention and it can be done at scale. And it can be done in closed-source codebases too, it's just a matter of someone using a bot on them.

                  ruchirasdatta@mathstodon.xyzR This user is from outside of this forum
                  ruchirasdatta@mathstodon.xyzR This user is from outside of this forum
                  ruchirasdatta@mathstodon.xyz
                  wrote last edited by
                  #45

                  @gabrielesvelto @a You are correct, LLMs have made this exploit many times easier to execute.

                  1 Reply Last reply
                  0
                  • gabrielesvelto@mas.toG gabrielesvelto@mas.to

                    And it's crucial to remember what happened during the xz compromise: a chain of seemingly innocuous commits where malicious behavior was hidden, then triggered by changing a single character in a generated file. A SINGLE CHARACTER. If you truly believe you can catch that by manually reviewing thousands upon thousands of machine-generated commits obtained via black-box training data I'm sorry, but you're being extremely naive.

                    cliffsesport@mastodon.socialC This user is from outside of this forum
                    cliffsesport@mastodon.socialC This user is from outside of this forum
                    cliffsesport@mastodon.social
                    wrote last edited by
                    #46

                    @gabrielesvelto that incident example of Metamorphic Malware?

                    1 Reply Last reply
                    0
                    • a@852260996.91268476.xyzA a@852260996.91268476.xyz

                      @gabrielesvelto@mas.to it is also worth remembering that the xz incident happened WITHOUT LLMs involved, so you comparison is not a very good one

                      silhouette@dumbfuckingweb.siteS This user is from outside of this forum
                      silhouette@dumbfuckingweb.siteS This user is from outside of this forum
                      silhouette@dumbfuckingweb.site
                      wrote last edited by
                      #47

                      @a @gabrielesvelto no it's actually an extremely well-made point. if we were (almost) unable to detect something like that in a FOSS project (not in the code, in a debug object mind you) then where do we get off introducing the black box which increases complexity a thousand times and claim we can still quality-control the final product. not to mention it took someone years to gain influence within the project vs a model that just scrapes public code indiscriminately

                      a@852260996.91268476.xyzA toast@donotsta.reT 2 Replies Last reply
                      0
                      • silhouette@dumbfuckingweb.siteS silhouette@dumbfuckingweb.site

                        @a @gabrielesvelto no it's actually an extremely well-made point. if we were (almost) unable to detect something like that in a FOSS project (not in the code, in a debug object mind you) then where do we get off introducing the black box which increases complexity a thousand times and claim we can still quality-control the final product. not to mention it took someone years to gain influence within the project vs a model that just scrapes public code indiscriminately

                        a@852260996.91268476.xyzA This user is from outside of this forum
                        a@852260996.91268476.xyzA This user is from outside of this forum
                        a@852260996.91268476.xyz
                        wrote last edited by
                        #48

                        @silhouette@dumbfuckingweb.site @gabrielesvelto@mas.to who said this already hadn't happened before the advent of LLMs? you detected ONE, you don't know how many you haven't

                        silhouette@dumbfuckingweb.siteS 1 Reply Last reply
                        0
                        • silhouette@dumbfuckingweb.siteS silhouette@dumbfuckingweb.site

                          @a @gabrielesvelto no it's actually an extremely well-made point. if we were (almost) unable to detect something like that in a FOSS project (not in the code, in a debug object mind you) then where do we get off introducing the black box which increases complexity a thousand times and claim we can still quality-control the final product. not to mention it took someone years to gain influence within the project vs a model that just scrapes public code indiscriminately

                          toast@donotsta.reT This user is from outside of this forum
                          toast@donotsta.reT This user is from outside of this forum
                          toast@donotsta.re
                          wrote last edited by
                          #49
                          @silhouette @a @gabrielesvelto most people (by volume AND mass) using LLMs are doing so because they do not have the skills necessary to produce the code in question (they "have the skill to read it" but if you've ever tried reimplementing a compsci research paper without just copying their code as-is you know instinctively that's not the same thing), which means that they are unlikely to tell well-crafted malicious code from legitimate code, knowing that both achieve their results
                          this is implying they even do review it at all rather than simply relegate this to an agent that only checks if it matches the acceptance criteria (just like a real product manager!), which obviously immediately fails
                          1 Reply Last reply
                          0
                          • a@852260996.91268476.xyzA a@852260996.91268476.xyz

                            @silhouette@dumbfuckingweb.site @gabrielesvelto@mas.to who said this already hadn't happened before the advent of LLMs? you detected ONE, you don't know how many you haven't

                            silhouette@dumbfuckingweb.siteS This user is from outside of this forum
                            silhouette@dumbfuckingweb.siteS This user is from outside of this forum
                            silhouette@dumbfuckingweb.site
                            wrote last edited by
                            #50

                            @a @gabrielesvelto I don't follow, are you agreeing with me or... what?

                            a@852260996.91268476.xyzA 1 Reply Last reply
                            0
                            • silhouette@dumbfuckingweb.siteS silhouette@dumbfuckingweb.site

                              @a @gabrielesvelto I don't follow, are you agreeing with me or... what?

                              a@852260996.91268476.xyzA This user is from outside of this forum
                              a@852260996.91268476.xyzA This user is from outside of this forum
                              a@852260996.91268476.xyz
                              wrote last edited by
                              #51

                              @silhouette@dumbfuckingweb.site @gabrielesvelto@mas.to I'm not, I'm saying that the xz is a bad example for several reasons, including the fact that (and this was my last point) it is one known case among an unknown number of total cases

                              silhouette@dumbfuckingweb.siteS 1 Reply Last reply
                              0
                              • a@852260996.91268476.xyzA a@852260996.91268476.xyz

                                @silhouette@dumbfuckingweb.site @gabrielesvelto@mas.to I'm not, I'm saying that the xz is a bad example for several reasons, including the fact that (and this was my last point) it is one known case among an unknown number of total cases

                                silhouette@dumbfuckingweb.siteS This user is from outside of this forum
                                silhouette@dumbfuckingweb.siteS This user is from outside of this forum
                                silhouette@dumbfuckingweb.site
                                wrote last edited by
                                #52

                                @a @gabrielesvelto I still don't follow your line of argument here. You are saying that there are currently an unknown number of potential vulnerabilities in human-generated FOSS code,  so we should... hook it up to the complexity generator?

                                a@852260996.91268476.xyzA 1 Reply Last reply
                                0
                                • silhouette@dumbfuckingweb.siteS silhouette@dumbfuckingweb.site

                                  @a @gabrielesvelto I still don't follow your line of argument here. You are saying that there are currently an unknown number of potential vulnerabilities in human-generated FOSS code,  so we should... hook it up to the complexity generator?

                                  a@852260996.91268476.xyzA This user is from outside of this forum
                                  a@852260996.91268476.xyzA This user is from outside of this forum
                                  a@852260996.91268476.xyz
                                  wrote last edited by
                                  #53

                                  @silhouette@dumbfuckingweb.site @gabrielesvelto@mas.to The argument sounds more like "I know a guy who almost died for peanut allergy, so we should prohibit the peanut production". Yes it is possible. It was also possible in the past. My point is that the use of LLMs doesn't change much the landscape in that regard.

                                  a@852260996.91268476.xyzA ehproque@neopaquita.esE 2 Replies Last reply
                                  0
                                  • a@852260996.91268476.xyzA a@852260996.91268476.xyz

                                    @silhouette@dumbfuckingweb.site @gabrielesvelto@mas.to The argument sounds more like "I know a guy who almost died for peanut allergy, so we should prohibit the peanut production". Yes it is possible. It was also possible in the past. My point is that the use of LLMs doesn't change much the landscape in that regard.

                                    a@852260996.91268476.xyzA This user is from outside of this forum
                                    a@852260996.91268476.xyzA This user is from outside of this forum
                                    a@852260996.91268476.xyz
                                    wrote last edited by
                                    #54

                                    @gabrielesvelto@mas.to @silhouette@dumbfuckingweb.site of course, you can do whatever you want, I just think if you are going to criticize the use of LLMs there are better arguments that are less convoluted. 🤷‍♂️

                                    1 Reply Last reply
                                    0
                                    • crazyeddie@mastodon.socialC crazyeddie@mastodon.social

                                      @csepp @gabrielesvelto Doesn't look like lua really has a good binding to libclang but if you used Python you could use the same libraries that clang-format/tidy do. They're using the actual llvm parser and give you an API to manipulate the AST.

                                      csepp@merveilles.townC This user is from outside of this forum
                                      csepp@merveilles.townC This user is from outside of this forum
                                      csepp@merveilles.town
                                      wrote last edited by
                                      #55

                                      @crazyeddie @gabrielesvelto I'll look into this, I couldn't find many up to date refactoring examples, but looking at the docs it should be possible to get something going. I think I've come across it when I was researching tools for my refactor but the lack of examples turned me off, since I had no idea how much work I'd have to put into it.

                                      1 Reply Last reply
                                      0
                                      • gabrielesvelto@mas.toG gabrielesvelto@mas.to

                                        And it's crucial to remember what happened during the xz compromise: a chain of seemingly innocuous commits where malicious behavior was hidden, then triggered by changing a single character in a generated file. A SINGLE CHARACTER. If you truly believe you can catch that by manually reviewing thousands upon thousands of machine-generated commits obtained via black-box training data I'm sorry, but you're being extremely naive.

                                        acdha@code4lib.socialA This user is from outside of this forum
                                        acdha@code4lib.socialA This user is from outside of this forum
                                        acdha@code4lib.social
                                        wrote last edited by
                                        #56

                                        @gabrielesvelto this also has the same problem which keeps antivirus software in a Red Queen's race: the attacker has access to the same tools and can tune their attack until it passes before targeting you. It’ll be highly effective against specific obtrusive patterns but that only stops lazy attackers.

                                        1 Reply Last reply
                                        0
                                        • a@852260996.91268476.xyzA a@852260996.91268476.xyz

                                          @silhouette@dumbfuckingweb.site @gabrielesvelto@mas.to The argument sounds more like "I know a guy who almost died for peanut allergy, so we should prohibit the peanut production". Yes it is possible. It was also possible in the past. My point is that the use of LLMs doesn't change much the landscape in that regard.

                                          ehproque@neopaquita.esE This user is from outside of this forum
                                          ehproque@neopaquita.esE This user is from outside of this forum
                                          ehproque@neopaquita.es
                                          wrote last edited by
                                          #57

                                          @a @gabrielesvelto @silhouette "people die from peanut allergy so maybe it isn't such a great idea to introduce machines that have a 0.1% probability of introducing a peanut in every single item in the supermarket" is a pretty good point

                                          1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          • Login

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Categories
                                          • Recent
                                          • Tags
                                          • Popular
                                          • World
                                          • Users
                                          • Groups