software development https://engineering.gmu.edu/ en Rising head and shoulders above the flaky test https://engineering.gmu.edu/news/2024-05/rising-head-and-shoulders-above-flaky-test <span>Rising head and shoulders above the flaky test</span> <span><span>Nathan Kahl</span></span> <span>Mon, 05/06/2024 - 12:14</span> <div class="layout layout--gmu layout--twocol-section layout--twocol-section--30-70"> <div class="layout__region region-first"> <div data-block-plugin-id="field_block:node:news_release:field_associated_people" class="block block-layout-builder block-field-blocknodenews-releasefield-associated-people"> <h2>In This Story</h2> <div class="field field--name-field-associated-people field--type-entity-reference field--label-visually_hidden"> <div class="field__label visually-hidden">People Mentioned in This Story</div> <div class='field__items'> <div class="field__item"><a href="/profiles/winglam" hreflang="en">Wing Lam</a></div> </div> </div> </div> </div> <div class="layout__region region-second"> <div data-block-plugin-id="field_block:node:news_release:body" class="block block-layout-builder block-field-blocknodenews-releasebody"> <div class="field field--name-body field--type-text-with-summary field--label-visually_hidden"> <div class="field__label visually-hidden">Body</div> <div class="field__item"><p><span><span><span><span><span><span><span>The software running the world—from our laptops to our cars to our refrigerators—is remarkably complex and requires a tremendous amount of testing. Testing is an onerous, consuming part of bringing a product to market, with a study from Microsoft finding that developers spend up to 22 percent of their workdays testing and debugging. </span></span></span></span></span></span></span></p> <p><span><span><span><span><span><span><span>Wing Lam, an assistant professor in the George Mason University Computer Science Department, recently received a <a href="https://new.nsf.gov/funding/opportunities/faculty-early-career-development-program-career" title="NSF CAREER Award">National Science Foundation (NSF) CAREER award</a> and nearly $620,000 to develop more efficient and less expensive tests.</span></span></span></span></span></span></span></p> <p><span><span><span><span><span><span><span>“Every time developers make a reasonable code change, they go through a process called regression testing,” said Lam. “The point is to run tests that have been developed over time to make sure developers’ recent code changes didn't break existing functionality. That's where the majority of software testing is typically centered.”</span></span></span></span></span></span></span></p> <p><span><span><span><span><span><span><span>New code may include human error, such as introducing new logic that conflicts with the existing code, which today is incredibly sophisticated. Lam aims to make testing more efficient, while addressing something known as a “flaky test,” which creates non-deterministic results, failing and passing even when there have been no code changes. </span></span></span></span></span></span></span></p> <div class="align-left"> <div class="field field--name-image field--type-image field--label-hidden field__item"> <img src="/sites/g/files/yyqcgq321/files/styles/small_content_image/public/2024-05/istock-1357020474.jpg?itok=fsoHLymB" width="350" height="233" alt="A graphic depiction of someone testing software" loading="lazy" /></div> </div> <p><span><span><span><span><span><span><span>Something as benign as the time a test is run can result in a flaky result. Lam said, “We know that if you're building your code around 5 p.m., your tests may fail more often than if you were to build it early in the morning. The company servers on which the tests are run may be physically in Europe; when it's 5 p.m. on the U.S. East Coast, it can be midnight over there, so if you start running the test at 11:59 p.m. there and it ends after midnight, you may have some flaky test results.”</span></span></span></span></span></span></span></p> <p><span><span><span><span><span><span><span>Efficiency and controlling costs are key to Lam because the industry is in such desperate need of it. He said, “In 2016, Microsoft found that the cost for developers to inspect test results in-and-of-itself can cost millions of dollars for a single product. When developers are wasting time looking at results not related to their recent code changes, that's a waste of their time.”</span></span></span></span></span></span></span></p> <p><span><span><span><span><span><span><span>Looking down the road, Lam hopes to tackle problems related to non-determinism in software beyond just software testing, expanding first into non-determinism problems in software engineering and then into other domains, such as AI and security.</span></span></span></span></span></span></span></p> <p><span><span><span><span><span><span><span>The CAREER award is reserved for the nation’s most talented up-and-coming researchers. From the NSF website: “The Faculty Early Career Development (CAREER) Program offers NSF’s most prestigious award in support of early-career faculty who have the potential to serve as academic role models in research and education and to lead advances in the mission of their department or organization.”</span></span></span></span></span></span></span></p> </div> </div> </div> <div data-block-plugin-id="field_block:node:news_release:field_content_topics" class="block block-layout-builder block-field-blocknodenews-releasefield-content-topics"> <h2>Topics</h2> <div class="field field--name-field-content-topics field--type-entity-reference field--label-visually_hidden"> <div class="field__label visually-hidden">Topics</div> <div class='field__items'> <div class="field__item"><a href="/taxonomy/term/76" hreflang="en">software development</a></div> <div class="field__item"><a href="/taxonomy/term/3521" hreflang="en">software engineering</a></div> <div class="field__item"><a href="/taxonomy/term/91" hreflang="en">software</a></div> <div class="field__item"><a href="/taxonomy/term/4076" hreflang="en">flaky tests</a></div> <div class="field__item"><a href="/taxonomy/term/71" hreflang="en">computer science</a></div> <div class="field__item"><a href="/taxonomy/term/3666" hreflang="en">Tech Talent Investment Pipeline (TTIP)</a></div> <div class="field__item"><a href="/taxonomy/term/4116" hreflang="en">TTIP</a></div> </div> </div> </div> </div> </div> Mon, 06 May 2024 16:14:02 +0000 Nathan Kahl 9056 at https://engineering.gmu.edu Mason's Women in Tech Spotlight: Kelly Glebus https://engineering.gmu.edu/news/2021-03/masons-women-tech-spotlight-kelly-glebus <span>Mason&#039;s Women in Tech Spotlight: Kelly Glebus</span> <span><span>Anonymous (not verified)</span></span> <span>Mon, 03/15/2021 - 15:24</span> <div class="layout layout--gmu layout--twocol-section layout--twocol-section--30-70"> <div class="layout__region region-first"> </div> <div class="layout__region region-second"> <div data-block-plugin-id="field_block:node:news_release:body" class="block block-layout-builder block-field-blocknodenews-releasebody"> <div class="field field--name-body field--type-text-with-summary field--label-visually_hidden"> <div class="field__label visually-hidden">Body</div> <div class="field__item"><p><span><span><span><span><span><span><span>Senior <a href="https://cs.gmu.edu/">computer science (CS</a>) major, <a href="https://honorscollege.gmu.edu/">Honors College</a> student, and aspiring software engineer Kelly Glebus was surprised by how few women were among her peers. Once Glebus reached higher-level CS classes, she says it wasn’t uncommon for her to be one of four or five women in a class of 30 to 40 students.</span></span></span></span></span></span></span></p> <figure role="group" class="align-right"> <div alt="Kelly standing in front of a beige wall facing the camera, smiling. " data-embed-button="media_browser" data-entity-embed-display="media_image" data-entity-embed-display-settings="{&quot;image_style&quot;:&quot;feature_image_medium&quot;,&quot;image_link&quot;:&quot;&quot;,&quot;svg_render_as_image&quot;:1,&quot;svg_attributes&quot;:{&quot;width&quot;:&quot;&quot;,&quot;height&quot;:&quot;&quot;}}" data-entity-type="media" data-entity-uuid="82bec026-6680-4834-a67c-8a92cf90e20f" title="Kelly Glebus" data-langcode="en" class="embedded-entity"> <img src="/sites/g/files/yyqcgq321/files/styles/feature_image_medium/public/2021-03/Kelly-Glebus-edited.jpg?itok=Y_zgMeGQ" alt="Kelly standing in front of a beige wall facing the camera, smiling. " title="Kelly Glebus" /></div> <figcaption>Kelly Glebus.</figcaption> </figure> <p><span><span><span><span><span><span><span>When she was a junior in high school, she enrolled in a pre-AP computer programming class as an elective. While the class wasn’t her first choice, she quickly developed an interest in programming and learned that she was adept at problem-solving. </span></span></span></span></span></span></span></p> <p><span><span><span><span><span><span><span>“On the first day and my teacher got out these huge pieces of butcher paper and had us create these “thread” conversations on them,” says Glebus. “We were answering questions like ‘What jobs are we going to lose to computer automation?’, ‘What are ways that computers make our lives easier,’ and things like that. I thought that it was a very interesting way to begin a class, so I stayed in it.”</span></span></span></span></span></span></span></p> <p><span><span><span><span><span><span><span>Her interest in programming did not go unnoticed by her teacher. Glebus says “he encouraged me to continue (and gave me all the extra work I asked for), and I decided that I was going to college for computer science. He really changed my life, and I’m very grateful for him. We’re still in touch today!”</span></span></span></span></span></span></span></p> <p><span><span><span><span><span><span><span>Since then, Glebus has developed into a young professional. She interned at <a href="https://goforward.tech/">Forward Integration Technologies</a> as a junior software developer, where she worked with Angular and Python to do full-stack web app development. She is currently a cybersecurity intern at <a href="https://colvinrun.net/">Colvin Run Networks </a>doing user interface design amongst other projects.  </span></span></span></span></span></span></span></p> <p><span><span><span><span><span><span><span>Some more notable achievements Glebus is proud of was being “a part of the National Science Foundation Research Experience for Undergraduates held at George Mason University in 2018, where I did some research with wearable technologies. I’m also currently a class facilitator for CS395: Student-Initiated Class Introduction into the Internet of Things.”</span></span></span></span></span></span></span></p> <p><span><span><span><span><span><span><span>Given her passion for the field, Glebus encourages other women to try computing. She praised George Mason University's Department of Computer Science for being inclusive towards all students. </span></span></span></span></span></span></span></p> <p><span><span><span><span><span><span><span>“I think a lot of super qualified women feel intimidated either by the subject or even by the male-dominated environment,” says Glebus. “Like I said before, computer science is hard, there are classes that you couldn’t pay me to retake, but that doesn’t mean it’s impossible. I wish more women would take the leap and try it; I think they’d find that they’re really good at it. Like I did.”</span></span></span></span></span></span></span></p> <p><span><span><span><span><span><span><span>On March 3, Mason announced a new initiative, Break Through Tech, that aims </span></span></span></span><span lang="EN" xml:lang="EN" xml:lang="EN"><span><span><span>to propel more students who identify as women and non-binary into tech education—and ultimately tech careers—through curriculum innovation, career access, and community building. The goal of the grant is to increase the number of these students graduating with a tech degree at Mason by 12.5 percent by 2026.</span></span></span></span></span></span></span></p> <p><span><span><span><span lang="EN" xml:lang="EN" xml:lang="EN"><span><span><span>For more information about Break Through Tech at Mason, visit </span></span></span></span><a href="https://volgenau.gmu.edu/partners/women-computing"><span lang="EN" xml:lang="EN" xml:lang="EN"><span><span>this site</span></span></span></a><span lang="EN" xml:lang="EN" xml:lang="EN"><span><span><span>. </span></span></span></span></span></span></span></p> </div> </div> </div> <div data-block-plugin-id="field_block:node:news_release:field_content_topics" class="block block-layout-builder block-field-blocknodenews-releasefield-content-topics"> <h2>Topics</h2> <div class="field field--name-field-content-topics field--type-entity-reference field--label-visually_hidden"> <div class="field__label visually-hidden">Topics</div> <div class='field__items'> <div class="field__item"><a href="/taxonomy/term/2576" hreflang="en">Break Through Tech</a></div> <div class="field__item"><a href="/taxonomy/term/2536" hreflang="en">computing</a></div> <div class="field__item"><a href="/taxonomy/term/76" hreflang="en">software development</a></div> <div class="field__item"><a href="/taxonomy/term/856" hreflang="en">Computer science; computing; School of Computing</a></div> </div> </div> </div> </div> </div> Mon, 15 Mar 2021 19:24:53 +0000 Anonymous 7451 at https://engineering.gmu.edu Computer science researcher investigating ways to reduce bias in software https://engineering.gmu.edu/news/2020-09/computer-science-researcher-investigating-ways-reduce-bias-software <span>Computer science researcher investigating ways to reduce bias in software</span> <span><span>Nanci Hellmich</span></span> <span>Sun, 09/20/2020 - 15:20</span> <div class="layout layout--gmu layout--twocol-section layout--twocol-section--30-70"> <div > </div> <div class="layout__region region-second"> <div data-block-plugin-id="inline_block:basic" data-inline-block-uuid="bc37b930-b543-4e1c-9dc8-09ed93fbe28f" class="block block-layout-builder block-inline-blockbasic"> <div class="field field--name-body field--type-text-with-summary field--label-hidden field__item"><blockquote><p>“We need more diverse perspectives in computer science just like we need them in the boardroom. If we have more diversity in computer science, we will see more diversity and equity in our solutions.”</p> <p>— Brittany Johnson, an assistant professor of computer science</p> </blockquote> </div> </div> <div data-block-plugin-id="inline_block:basic" data-inline-block-uuid="2007caec-2ad1-48e5-a805-ed9271335d72" class="block block-layout-builder block-inline-blockbasic"> <div class="field field--name-body field--type-text-with-summary field--label-hidden field__item"><div class="block-feature-image caption-below"> <div class="feature-image"> <div class="narrow-overlaid-image"><img src="https://content.sitemasonry.gmu.edu/sites/g/files/yyqcgq336/files/content-image/Brittany-Johnson-headshot edited.jpg" alt="Brittany Johnson, an assistant professor of computer science" /></div> </div> <div class="feature-image-caption"> <div class="field field--name-field-feature-image-caption field--type-text-long field--label-hidden field__item"> <p>Brittany Johnson, an assistant professor of computer science, is researching ways to eliminate or reduce bias in software.</p> </div> </div> </div> </div> </div> <div data-block-plugin-id="inline_block:basic" data-inline-block-uuid="cbb457bc-198c-498a-99db-12df4ac810f7" class="block block-layout-builder block-inline-blockbasic"> <div class="field field--name-body field--type-text-with-summary field--label-hidden field__item"><p>A <a href="https://volgenau.gmu.edu/" target="_blank">Mason Engineering</a> professor is on a mission to improve software development so that computer programs are fair to everyone.</p> <p>“We develop technology using real-world data, but that data can have biases that affect the output of the software,” says <a href="https://volgenau.gmu.edu/profile/view/587171" target="_blank">Brittany Johnson</a>, an assistant professor in the <a href="https://cs.gmu.edu/" target="_blank">Department of Computer Science</a>. It happens in software developed for healthcare, banking, and retail, she says.</p> <p>“For example, in healthcare, we use algorithms that help decide on treatment and prioritize patients. Unfortunately, these have been shown to be biased against certain groups, such as African Americans,” she says.</p> <p>Johnson is determined to change that. Her research evaluates tools and practices that support analyzing software and its components for bias. “It’s important we understand what’s being done in practice and provide solutions for building and using fair, equitable software,” she says.</p> <p><a href="https://volgenau.gmu.edu/profile/view/587751" target="_blank">David Rosenblum</a>, chair of the Department of Computer Science, says, “Businesses, healthcare providers, law enforcement, and government agencies now rely heavily on algorithmic tools to make critical decisions affecting people’s lives. </p> <p>“Unfortunately, because of the way these tools are programmed, they often embody significant biases that result in unsound and even detrimental decisions. Brittany’s research promises to understand and attack the sources of bias in these tools to ensure fair and sound decision-making,” he says.</p> <p>Before joining Mason, Johnson was a postdoctoral research fellow at the University of Massachusetts Amherst, where she developed a new testing technique, called Causal Testing, that supports developers in understanding the cause of unexpected behavior in their software.</p> <p>In addition to her passion for research, Johnson enjoys mentoring students both inside and outside the classroom. Before the pandemic, she taught and mentored middle and high school students at workshops and camps.</p> <p>She doesn’t want young people to be intimidated by computer science. “Computer science is so much more than writing code and memorizing algorithms,” she says.</p> <p>“I want to help attract a more diverse perspective to computer science,” Johnson says. “We need more diverse perspectives in computer science just like we need them in the boardroom. If we have more diversity in computer science, we will see more diversity and equity in our solutions.”</p> </div> </div> </div> </div> Sun, 20 Sep 2020 19:20:20 +0000 Nanci Hellmich 491 at https://engineering.gmu.edu The fix is in: Computer science researcher creating system to help resolve bugs in software https://engineering.gmu.edu/news/2020-09/fix-computer-science-researcher-creating-system-help-resolve-bugs-software <span>The fix is in: Computer science researcher creating system to help resolve bugs in software </span> <span><span>Nanci Hellmich</span></span> <span>Thu, 09/10/2020 - 08:10</span> <div class="layout layout--gmu layout--twocol-section layout--twocol-section--30-70"> <div > </div> <div class="layout__region region-second"> <div data-block-plugin-id="inline_block:basic" data-inline-block-uuid="9cfd710d-5951-496a-a97c-6f1d3976373f" class="block block-layout-builder block-inline-blockbasic"> <div class="field field--name-body field--type-text-with-summary field--label-hidden field__item"><blockquote><p>"We are developing a modern, intelligent bug reporting system, using artificial intelligence and program analysis behind the scenes. It’s a different technique for analyzing potential problems in computer programs."</p> <p>— Kevin Moran, assistant professor of computer science</p> </blockquote> </div> </div> <div data-block-plugin-id="inline_block:basic" data-inline-block-uuid="dd2a989e-21b6-419b-9355-59dcce9e7017" class="block block-layout-builder block-inline-blockbasic"> <div class="field field--name-body field--type-text-with-summary field--label-hidden field__item"><div class="block-feature-image caption-below"> <div class="feature-image"> <div class="narrow-overlaid-image"><img src="https://content.sitemasonry.gmu.edu/sites/g/files/yyqcgq336/files/content-image/Kevin-Moran-Headshot edited.jpg" alt="" /></div> </div> <div class="feature-image-caption"> <div class="field field--name-field-feature-image-caption field--type-text-long field--label-hidden field__item"> <p>Kevin Moran, an assistant professor in the Department of Computer Science, is developing a new system that could help fix technical problems in computer software more quickly and efficiently.</p> </div> </div> </div> </div> </div> <div data-block-plugin-id="inline_block:basic" data-inline-block-uuid="85a878a5-e81a-4f5a-a127-bed6538a3de0" class="block block-layout-builder block-inline-blockbasic"> <div class="field field--name-body field--type-text-with-summary field--label-hidden field__item"><p>Tracking down bugs in software can be frustrating and time-consuming for engineers, but a <a href="https://volgenau.gmu.edu/" target="_blank">Mason Engineering</a> researcher is creating a new system that could help fix technical problems more quickly and efficiently.</p> <p><a href="https://volgenau.gmu.edu/profile/view/587141" target="_blank">Kevin Moran</a>, an assistant professor in the <a href="https://cs.gmu.edu/" target="_blank">Department of Computer Science</a>, is researching a type of autofill system that would allow users to type in a few words about the issue they’re experiencing and then the system would attempt to pinpoint the problem in the code.</p> <p>“Current software bug reporting systems have not kept up with the complexity of modern software, but our vision is that bugs will be uncovered and fixed using our proposed interactive BUg ReporTing (BURT) system,” he says.</p> <p>Moran along with computer science professor Denys Poshyvanyk and assistant professor Oscar Chaparro at <a href="https://www.wm.edu/" target="_blank">William &amp; Mary</a> and computer science professor Andrian Marcus at the <a href="https://www.utdallas.edu/" target="_blank">University of Texas at Dallas</a> received a $1.2 million award from the <a href="https://www.nsf.gov/" target="_blank">National Science Foundation</a> for their research project, <a href="https://www.nsf.gov/awardsearch/showAward?AWD_ID=1955853&amp;HistoricalAwards=false" target="_blank">Bug Report Management 2.0,</a></p> <p>Bug reporting systems serve an essential role in documenting problems during software development, Moran says.  </p> <p>Current systems largely capture information using natural language or graphical information, such as screenshots. The restrictive nature of these interfaces makes it hard to get to the bottom of the problem, Moran says.</p> <p>“We are developing a modern, intelligent bug reporting system, using artificial intelligence and program analysis behind the scenes. It’s a different technique for analyzing potential problems in computer programs,” he says.</p> <p>The result: “With our system, the person reporting a problem would type in some text about the issue they are trying to solve with a piece of software, and the system, using machine learning, would predict what that person is describing and specific areas of the code that could be analyzed to resolve the issue,” Moran says.</p> <p><a href="https://volgenau.gmu.edu/profile/view/587751" target="_blank">David Rosenblum</a>, chair of the Department of Computer Science, says, “developing and debugging software remains notoriously difficult, and with so much critical human activity being centered around complex software, it’s essential to give developers powerful tools to grapple with the detection, isolation, and elimination of bugs.</p> <p>“The research of Kevin and his colleagues takes a very different approach to this problem by exploiting the power of machine learning in conjunction with more established forms of program analysis.  Their approach promises to significantly decrease the turnaround time for eliminating bugs in software,” he says.</p> <p>Moran also received a $500,000 award from the National Science Foundation for his research project, <a href="https://www.nsf.gov/awardsearch/showAward?AWD_ID=2007246&amp;HistoricalAwards=false" target="_blank">Towards a Holistic Causal Model for Continuous Software Traceability</a>, which is being conducted with researcher Denys Poshyvanyk at William &amp; Mary.</p> <p>This project is trying to automate the process of linking different pieces of code to descriptions of their functionality, Moran says. This process, called traceability, is a critical step in verifying software where safety or security is critical.</p> <p>Moran is working on his research remotely during the coronavirus pandemic. “It has been a bit of an adjustment with virtual meetings and not discussing ideas on a whiteboard,” he says. “But we have gotten used to this new normal of vetting research ideas on Zoom.”</p> </div> </div> </div> </div> Thu, 10 Sep 2020 12:10:47 +0000 Nanci Hellmich 5256 at https://engineering.gmu.edu