scieee AI-readable full text Open interactive document viewer

Towards an Appropriate Level of Reliance on AI: A Preliminary Reliance-Control Framework for AI in Software Engineering - Supplementary Information Package

Anonymous

Abstract

How software developers interact with Artificial Intelligence (AI)-powered tools, including Large Language Models (LLMs), plays a vital role in how these AI-powered tools in turn impact them. While overreliance on AI may lead to long-term negative consequences (e.g., atrophy of critical thinking skills); underreliance might deprive software developers of potential gains in productivity and quality. Based on twenty-two interviews with software practitioners on using LLMs for software development, we propose a preliminary reliance-control framework where the level of control can be used as a way to identify AI overreliance and underreliance. We also use it to recommend future research to further explore the different control levels supported by the current and emergent LLM-driven tools. Our paper contributes to the emerging discourse on AI overreliance and provides an understanding of the appropriate degree of reliance as essential to developers making the most of these powerful technologies. Our findings can support SE educators in mitigating overreliance towards AI tools by their students.

Full text

QUESTIONS (Round 1) TIME First of all, let us discuss your experience using LLMs… 1) In the pre-interview question, you mentioned using LLMs in general for <X months/years>. Please can you tell me briefly which LLMs have you been using, and for what? ○ What has been your experience using <name LLMs they identify>? Ex¹.: OpenAI ChatGPT; GitHub Copilot; Amazon Codewhisper; Google Gemini Ex².: seek relevant information; write email; summarise information Ex3: my friends use, so I decide to try; my company decide to use, so I was push to use; I thought that people who use LLMs are in the technological edge (up to date) comparing others who doesn't use 3 mins 2) You also mentioned using LLMs for software development tasks. Can you expand on this? (prompts: which LLMs? for what taks?) ○ What has been your experience using <name LLMs they identify>? Ex1.: seeking information on programming-related questions, clarifying confusing code, refactoring code to adopt design pattern;Generate boilerplate code, explain code, debugging, write documentation, improve code performance, refactoring code to adopt design pattern 3 mins 3) Can you list development tasks that you felt more comfortable relying on LLMs than in the senior developers in your team? What made you more comfortable? Ex.: avoid bother colleagues; worry about being judged by 'dumb' questions 3 mins 4) Think of a time you were using <LLM name> for one of these development related tasks you mentioned and end up in an unexpected outcome. [give them time to think] ○ Can you share the experience? [prompts: What was the task you were trying to do? How were you using the LLM? What happened that surprised you?] ○ Why was it unexpected? Ex.: The response was unrelated to my question/prompt 3 mins Now, I will ask you questions to get your perspective based on your experience as a software developer 5) Based on your experiences so far, what do you find are some of the advantages of using LLMs for software development tasks? Share some examples. [prompts: name which LLM; which task; what were they trying to do; what was the limitation; why was it a advantage, e.g., compared to what] Ex.: friendly and personalised user experience - human-like interaction; Improvement on productivity/boost productivity by looking through multiple websites - similar to Googling without need to filter. LLM doing pair programming (AI pair programming); 3 mins 6) What limitations have you come across? Please share examples. [prompts: name which LLM; which task; what were they trying to do; what was the limitation; why was it a limitation?] Ex.: user experience issues; integration with current development softwares; lack of knowledge of internal APIs 3 mins 7) What do you find challenging about using LLMs for software development tasks? Share some examples. [prompts: name which LLM; which task; what were they trying to do; what was the limitation; why was it a challenge?] ○ Was there a time you felt concerned or less confident about using LLM-based tools in your software projects? If so, could you describe these situations? Ex¹.: Get distracted or biassed by wrong and poor quality suggestions Ex²: authorship of the code generated with LLM support; over-reliance on the LLMs, lack of validation or accuracy, privacy issues, or ethical issues like gender or discrimination-biassed responses, decline in code understanding; 3 mins 8) OPTIONAL: Based on the number of prompts per day <mention number> mentioned in the pre-interview questionnaire, do you feel that it impacts on your skills development? If so, how? Ex.: difficulty in remembering the commands because I've been relying on ChatGPT 3 mins 9) OPTIONAL: It seems there is/is no policy at your organisation regarding the use of LLMs for software development tasks. Can you share more about this [Prompts: when was it introduced? By who? Do you know how it was developed/by who?] ○ What do you think prompted them to introduce a policy? ○ Has it affected you or your team? If so, has it been a help or a hindrance? How? Ex.: be careful about putting property code into the prompt - data leaking; don’t use LLMs in the development of new features - only tests or debugging 3 mins 10) These are your responses to one of the questions in the pre-interview questionnaire [Show - AI attitude responses (don’t have to name it) - fear/trust/destroy/benefit/job losses]. [Pick strongest responses] Can you tell me more about X. ○ Why do you think this way? ○ What role do you see LLMs playing in software development in the near future? 3 mins 11) OPTIONAL: Based on your experience, how can LLMs influence the developers’ career trajectory: from education and training period to passing through seniority levels (e.g., juniors, seniors)? ○ And in job market competitiveness? 3 mins 12) If you could share some practical tips with other software professionals about using LLMs in development related tasks, what would you share? 3 mins 13) If you could share some recommendations with team leaders, managers, or companies as a whole about better supporting developers, what would you share? Ex.: establish guidelines for usage of LLMs; upscaling/reskilling; Provide up-to-date LLM-based tools (e.g., ChatGPT 4) mitigates problems in old versions (e.g., ChatGPT 3.5) 3 mins To conclude, 14) Is there anything else you would like to share about this topic or our study in general? 1 min TOTAL (ROUND 1) - With Optional questions 40 mins QUESTIONS (Round 2) TIME First of all, let us discuss your experience using LLMs… [NO CHANGES] 1) In the pre-interview question, you mentioned using LLMs in general for <X months/years>. Please can you tell me briefly which LLMs have you been using, and for what? ○ What has been your experience using <name LLMs they identify>? Ex¹.: OpenAI ChatGPT; GitHub Copilot; Amazon Codewhisper; Google Gemini Ex².: seek relevant information; write email; summarise information Ex3: my friends use, so I decide to try; my company decide to use, so I was push to use; I thought that people who use LLMs are in the technological edge (up to date) comparing others who doesn't use 3 mins [NO CHANGES] 2) You also mentioned using LLMs for software development tasks. Can you expand on this? (prompts: which LLMs? for what taks?) ○ What has been your experience using <name LLMs they identify>? Ex1.: seeking information on programming-related questions, clarifying confusing code, refactoring code to adopt design pattern;Generate boilerplate code, explain code, debugging, write documentation, improve code performance, refactoring code to adopt design pattern 3 mins [NO CHANGES] 3) Can you list development tasks that you felt more comfortable relying on LLMs than on the senior developers in your team? What made you more comfortable? Ex.: avoid bother colleagues; worry about being judged by 'dumb' questions [QUESTION ADAPTATION FOR SENIOR DEVS] 3) Can you list development tasks that you felt more comfortable relying on LLMs than on colleagues in your team? What made you more comfortable? Ex.: avoid bother colleagues; worry about being judged by 'dumb' questions 3 mins [ORIGINAL NUMBER: 10] 4) These are your responses to one of the questions in the pre-interview questionnaire. [Show AI attitude response: fear/trust/destroy/benefit/job losses] [Pick extreme responses: Strongly disagree (1/5) or Strongly agree (5/5)] Can you tell me more about X. ○ Why do you think this way? ○ What role do you see LLMs playing in software development in the near future? [ORIGINAL NUMBER: 4] 5) Think of a time you were using <LLM name> for one of these development related tasks you mentioned and you were surprised. [give them time to think] ○ Can you share the experience? [prompts: What was the task you were trying to do? How were you using the LLM? What happened that surprised you?] ○ Why was it unexpected? Ex.: The response was unrelated to my question/prompt 3 mins Now, I will ask you questions to get your perspective based on your experience as a software developer [ORIGINAL NUMBER: 5] 6) Based on your experiences so far, what do you find are some of the advantages of using LLMs for software development tasks? Share some examples. [prompts: name which LLM; which task; what were they trying to do; what was the limitation; why was it a advantage, e.g., compared to what] Ex.: friendly and personalised user experience - human-like interaction; Improvement on productivity/boost productivity by looking through multiple websites - similar to Googling without need to filter. LLM doing pair programming (AI pair programming); 3 mins [ORIGINAL NUMBER: 6] 7) What do you find challenging about using LLMs for software development tasks? Share some examples. [prompts: name which LLM; which task; what were they trying to do; what was the limitation; why was it a challenge?] ○ Was there a time you felt concerned or less confident about using LLM-based tools in your software projects? If so, could you describe these situations? Ex¹.: Get distracted or biassed by wrong and poor quality suggestions Ex²: authorship of the code generated with LLM support; over-reliance on the LLMs, lack of validation or accuracy, privacy issues, or ethical issues like gender or discrimination-biassed responses, decline in code understanding; 3 mins [ORIGINAL NUMBER: 7] 8) Optional: What limitations have you come across? Please share examples. [prompts: name which LLM; which task; what were they trying to do; what was the limitation; why was it a limitation?] Ex.: user experience issues; integration with current development softwares; lack of knowledge of internal APIs 3 mins [NEW QUESTION] 9) OPTIONAL: What are the risks/dangers of using GenAI tools? Share some examples. Ex.: difficulty in remembering the commands because I've been relying on ChatGPT 3 mins [NEW QUESTION - FOR SENIORS] 9.5) Did you observe any difference in your colleague's behaviour after they also adopted LLMs? And in junior developers’ behaviour? Ex.: Nowadays, junior developers seek less help than before. [ORIGINAL NUMBER: 13] 10) If you could get your company, manager, or team leader to do something to better support you as a developer regarding LLM adoption, what would that be? Ex.: establish guidelines for usage of LLMs; upscaling/reskilling; Provide up-to-date LLM-based tools (e.g., ChatGPT 4) mitigates problems in old versions (e.g., ChatGPT 3.5) 3 mins [ORIGINAL NUMBER: 12] 11) If you could share some practical tips with other junior software professionals about using LLMs in development related tasks, what would you share? 3 mins [ORIGINAL NUMBER: 11] 12) OPTIONAL: Based on your experience, how can LLMs influence the developers’ career trajectory: from education and training period to passing through seniority levels (e.g., juniors, seniors)? ● And in job market competitiveness? 3 mins [NEW QUESTION ✨ ] 13) OPTIONAL: Based on your experience of using LLMs in software development, how do you think LLMs may influence your career as a software developer in the near future? (what would be near future for you?) And in the long term? (What is long-term for you?) 3 mins [ORIGINAL NUMBER: 9] 14) OPTIONAL: According to your response to PIQ, there is/is no policy at your organisation regarding the use of LLMs for software development tasks. Can you share more about this [Prompts: when was it introduced? By who? Do you know how it was developed/by who?] ○ What do you think prompted them to introduce a policy? ○ Has it affected you or your team? If so, has it been a help or a hindrance? How? ○ Do you think policies are useful or useless? Why? (give examples) Ex.: be careful about putting property code into the prompt - data leaking; don’t use LLMs in the development of new features - only tests or debugging 3 mins To conclude, [ORIGINAL NUMBER: 14] 15) Is there anything else you would like to share about this topic or our study in general? 1 min TOTAL (ROUND 2) - With Optional questions 43 min QUESTIONS (Round 3) TIME Let us discuss your experience using LLMs… [ORIGINAL NUMBER:2] 1) You also mentioned using LLMs for software development tasks. Can you expand on this? (prompts: which LLMs? for what taks?) a) What has been your experience using <name LLMs they identify>? Ex1.: seeking information on programming-related questions, clarifying confusing code, refactoring code to adopt design pattern;Generate boilerplate code, explain code, debugging, write documentation, improve code performance, refactoring code to adopt design pattern 3 mins [ORIGINAL NUMBER:3] 2) Can you list development tasks that you felt more comfortable relying on LLMs than in the senior developers in your team? What made you more comfortable? Ex.: avoid bother colleagues; worry about being judged by 'dumb' questions 3 mins [NEW QUESTION] 3) Are there any tasks you feel comfortable fully delegating to LLMs? Why? Ex.: Boilerplate code generation, document generation 3 mins [NEW QUESTION] 4) And when it comes to your relationship with your team, how do you view that LLMs influence you in your integration with those other colleagues? 3 mins [ORIGINAL NUMBER:9] 5) What are the risks/dangers of using GenAI tools? 3 mins [NEW QUESTION] 6) How do LLMs impact developers’ career reputation? 3 mins [NEW QUESTION] 7) When it comes to the organisational level, how do you view the benefits of LLMs in terms of cost saving? 3 mins [NEW QUESTION] 8) How do you view the cost of using LLMs? 3 mins [NEW QUESTION] 9) Do you notice any change in your personality due to LLMs? Ex.: Became impatient or lazy 3 mins [ORIGINAL NUMBER:11] 10) What would be your recommendations to the new generation of software developers regarding LLMs? 3 mins [ORIGINAL NUMBER:13] 11) In your experience, how do you view that LLMs influenced your career in the near future and in the long term? 3 min 12) How do LLMs impact society? Job market? 3 mins To conclude, [ORIGINAL NUMBER: 15] 15) Is there anything else you would like to share about this topic or our study in general? 1 min TOTAL (ROUND 2) - With Optional questions 37 min