Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
AI for Software Engineering: Research & Innovation
1. AI for Software Engineering:
Research & Innovation
Oleksandr ZAITSEV
Universidad Católica Boliviana
oleksandr.zaitsev@cirad.fr
UMR SENS, CIRAD, Montpellier, France
4. 4
Who am I?
MSc. in Data Science
Ukrainian Catholic University
Lviv, Ukraine
5. 5
Who am I?
MSc. in Data Science
Ukrainian Catholic University
Lviv, Ukraine
PhD. in Informatics
Inria, Univ. Lille, CNRS, CRIStAL
Lille, France
(use AI to help programmers)
6. 6
Who am I?
MSc. in Data Science
Ukrainian Catholic University
Lviv, Ukraine
PhD. in Informatics
Inria, Univ. Lille, CNRS, CRIStAL
Lille, France
Researcher of Informatics
CIRAD, UMR SENS
Montpellier, France
(use AI to help programmers)
(use SE & AI to help farmers)
🌾
7. 7
Who am I?
MSc. in Data Science
Ukrainian Catholic University
Lviv, Ukraine
PhD. in Informatics
Inria, Univ. Lille, CNRS, CRIStAL
Lille, France
Researcher of Informatics
CIRAD, UMR SENS
Montpellier, France
(use AI to help programmers)
(use SE & AI to help farmers)
🌾
Today we
talk
about this
8. 8
Pharo open-source community
Pharo is a pure object-oriented
dynamically-typed programming
language.
Projects that I contribute to:
1. Cormas
2. pharo-ai
3. DataFrame
4. PolyMath
I have been a member of
the Pharo community for 6 years
(since university)
9. Cochabamba 🙂
Dayne Guerra Calle
Juan Pablo Sandoval
Evelyn Cusi Lopez
Sebastian Jordan Montaño
Milton Mammani Torrez
Andreina Cota Vidaurre
DrTests, Intern at Inria
Google Summer of Code
Engineer at Inria
Pharo-ai, graph algos
Research in profiling
Engineer at Inria
Roassal Guru
Refactoring Tools
Google Summer of Code
Research on genetic
test generation
Assistant Prof. at Chile
Software Evolution,
Dynamic Analysis
Daniel Campuzano
Intern at Inria
Object-centric debugging
9
10. 10
The goal of my talk
Motivate you to do research
Help you discover some interesting research topics
Introduce you to our research groups
🌱
😎
👀
12. 12
What is software engineering?
Software Engineering (SE) is the branch of computer
science that deals with the design, development,
testing, and maintenance of software.
👩🎨 👩💻 👩⚕ 👩🔧
Design Develop Test Maintain
15. 🧈 🥓🥚
🥖🥓 🥚
🥖🧈 🥓 🥚
🥖🧈 🥑
🥖🧈 🍌
15
Market basket analysis
Customer 1:
Customer 2:
Customer 3:
Customer 4:
Customer 5:
Transactions:
Q1: What are the products that are
frequently purchased together?
Q2: What can we recommend to
people who buy bread?
16. 16
Market basket analysis
Customer 1:
Customer 2:
Customer 3:
Customer 4:
Customer 5:
Transactions:
Q1: What are the products that are
frequently purchased together?
Q2: What can we recommend to
people who buy bread?
Con
fi
dence: 75%
Support: 60%
Support: 60%
🥖🧈 🍌
🥖🧈 🥑 🥖 🧈
🥓
🥖 🧈
🥚
🥖🧈 🥓 🥚
🥖🥓 🥚
🧈 🥓🥚
18. 18
Data mining for library update
Zaitsev O, Ducasse S, Anquetil N, Thiefaine A. DepMiner: Automatic
Recommendation of Transformation Rules for Method Deprecation. InICSR
2022-20th International Conference on Software and System Reuse 2022 Jun 15.
📄
Oleksandr
Zaitsev
Stéphane
Ducasse
Nicolas
Anquetil
Arnaud
Tiefaine
Q1: What are the operations that frequently
appear together in the commit history?
Q2: What is a good replacement for method next() ?
next() nextNode()
Con
fi
dence: 75%
remove(next), add(nextNode)
Support: 60%
22. 22
Text summarisation
Text:
French authorities have placed seven more
departments covering major cities such as Lille,
Strasbourg and Dijon on high alert as increases
in Covid-19 infections accelerate, the
government said Sunday. Of France's 101
mainland and overseas departments, 28 are now
considered "red zones" where authorities will be
able to impose exceptional measures to slow
the number of new coronavirus cases. The move
comes as France reported a record of nearly
9,000 daily cases on Friday, and a further 8,550
cases in the past 24 hours on Saturday, when the
nationwide test positivity rate increased to 4.7
percent…
Summary:
France puts more departments
on Covid high alert
23. 23
Generate names with neural nets
Oleksandr
Zaitsev
Alexandre
Bergel
Stéphane
Ducasse
Mathieu
Eveilard
Zaitsev, O., Ducasse, S., Bergel, A. and Eveillard, M., 2020, September. Suggesting
Descriptive Method Names: An Exploratory Study of Two Machine Learning Approaches.
In International Conference on the Quality of Information and Communications
Technology (pp. 93-106). Springer, Cham.
📄
Source code (body of a method):
// sum numbers of a collection
sum = 0
this apply: (each) -> {
sum = each + sum }
return sum
Method name:
sum
Text
Short summary
25. 25
Code completion with N-grams
Myroslava
Romaniuk
Oleksandr
Zaitsev
Marcus
Denker
Romaniuk, Myroslava. "Improving Code Completion in Pharo Using N-gram Language
Models." Bachelor thesis, Ukrainian Catholic University, 2020.
📄
26. 26
And much more…
Allamanis M, Barr ET, Devanbu P, Sutton C. A survey of
machine learning for big code and naturalness. ACM
Computing Surveys (CSUR). 2018 Jul 31;51(4):1-37.
📄
28. 28
Our research groups
RMoD team at Inria Unit SENS at CIRAD
✓ Software evolution
✓ Software analysis
✓ Software comprehension
✓ Virtual machines
✓ Programming languages
✓ Agent-based modelling
✓ Multi-agent systems
✓ Agriculture
✓ Ecology
✓ Anthropology
https://umr-sens.fr/
https://rmod.inria.fr/