When GitHub meets CRAN: An Analysis of Inter-Repository Package Dependency Pr...Tom Mens
"When GitHub meets CRAN: An Analysis of Inter-Repository Package Dependency Problems"
Presentation of a research article on software ecosystems at the International Conference on Software Analysis, Evolution and Reengineering (SANER 2016, Osaka, Japan). Joint work by Alexandre Decan, Tom Mens, Maelick Claes, Philippe Grosjean, COMPLEXYS Research Institute, University of Mons, Belgium
Most modern software systems are subject to variation or come in many variants. Web browsers like Firefox or Chrome are available on different operating systems, in different languages, while users can configure 2000+ preferences or install numerous 3rd parties extensions (or plugins). Web servers like Apache, operating systems like the Linux kernel, or a video encoder like x264 are other examples of software systems that are highly configurable at compile-time or at run-time for delivering the expected functionality andmeeting the various desires of users. Variability ("the ability of a software system or artifact to be efficiently extended, changed,customized or configured for use in a particular context") is therefore a crucial property of software systems. Organizations capable of mastering variability can deliver high-quality variants (or products) in a short amount of time and thus attract numerous customers, new use-cases or usage contexts. A hard problem for end-users or software developers is to master the combinatorial explosion induced by variability: Hundreds of configuration options can be combined, each potentially with distinct functionality and effects on execution time, memory footprint, quality of the result, etc. The first part of this course will introduce variability-intensive systems, their applications and challenges, in various software contexts. We will use intuitive examples (like a generator of LaTeX paper variants) and real-world systems (like the Linux kernel). A second objective of this course is to show the relevance of ArtificialIntelligence (AI) techniques for exploring and taming such enormous variability spaces. In particular, we will introduce how (1) satisfiability and constraint programming solvers can be used to properly model and reason about variability; (2) how machine learning can be used to discover constraints and predict the variability behavior of configurable systems or software product lines.
http://ejcp2019.icube.unistra.fr/
Biology, medicine, physics, astrophysics, chemistry: all these scientific domains need to process large amount of data with more and more complex software systems. For achieving reproducible science, there are several challenges ahead involving multidisciplinary collaboration and socio-technical innovation with software at the center of the problem. Despite the availability of data and code, several studies report that the same data analyzed with different software can lead to different results. I am seeing this problem as a manifestation of deep software variability: many factors (operating system, third-party libraries, versions, workloads, compile-time options and flags, etc.) themselves subject to variability can alter the results, up to the point it can dramatically change the conclusions of some scientific studies. In this keynote, I argue that deep software variability is a threat and also an opportunity for reproducible science. I first outline some works about (deep) software variability, reporting on preliminary evidence of complex interactions between variability layers. I then link the ongoing works on variability modelling and deep software variability in the quest for reproducible science.
SyncMeta: Near Real-time Collaborative Conceptual Modeling on the WebNicolaescu Petru
Framework for near real-time (meta) modeling on the Web. Permits the collaborative editing of meta models and the generation of near real-time collaborative modeling editors. It uses a visual modeling approach.
http://dbis.rwth-aachen.de/cms/research/ACIS/SyncMeta
An Ad-hoc Smart Gateway Platform for the Web of Things (IEEE iThings 2013 Bes...Darren Carlson
The Web of Things (WoT) aims to extend the Web into the physical world by promoting the adoption of Web protocols by situated services and smart objects (ambient artifacts). However, real-world ambient artifacts often adopt proprietary and/or non-Web protocols, making them invisible to Web search engines and inaccessible to conventional Web agents. Smart Gateways have been proposed as a way to “Web-enable” proprietary ambient artifacts through intermediary proxy nodes; however, the requisite infrastructure is difficult to deploy at Web scale. To address such challenges, we are developing Ambient Dynamix (Dynamix): a plug-and-play context framework for mobile devices, which enables Web agents to interoperate with non-Web ambient artifacts – directly from the browser. In this paper, we describe how Dynamix can be used to transform the user’s device into an ad-hoc Smart Gateway in-situ, enabling Web applications (in the device’s browser) to seamlessly interact with non-Web ambient artifacts in the physical environment. We describe an operational prototype implementation, which enables Web apps to discover and control nearby UPnP and AirPlay media devices uniformly. We also present a performance evaluation that indicates the prototype imposes low processing and memory overhead, and is suitable for deployment on many commodity mobile devices.
3D printing is gaining more and more momentum to build
customized product in a wide variety of fields. We con-
duct an exploratory study of Thingiverse, the most popular
Website for sharing user-created 3D design les, in order to
establish a possible connection with software product line
(SPL) engineering. We report on the socio-technical aspects
and current practices for modeling variability, implementing
variability, configuring and deriving products, and reusing
artefacts. We provide hints that SPL-alike techniques are
practically used in 3D printing and thus relevant. Finally,
we discuss why the customization in the 3D printing eld
represents a challenging playground for SPL engineering.
When GitHub meets CRAN: An Analysis of Inter-Repository Package Dependency Pr...Tom Mens
"When GitHub meets CRAN: An Analysis of Inter-Repository Package Dependency Problems"
Presentation of a research article on software ecosystems at the International Conference on Software Analysis, Evolution and Reengineering (SANER 2016, Osaka, Japan). Joint work by Alexandre Decan, Tom Mens, Maelick Claes, Philippe Grosjean, COMPLEXYS Research Institute, University of Mons, Belgium
Most modern software systems are subject to variation or come in many variants. Web browsers like Firefox or Chrome are available on different operating systems, in different languages, while users can configure 2000+ preferences or install numerous 3rd parties extensions (or plugins). Web servers like Apache, operating systems like the Linux kernel, or a video encoder like x264 are other examples of software systems that are highly configurable at compile-time or at run-time for delivering the expected functionality andmeeting the various desires of users. Variability ("the ability of a software system or artifact to be efficiently extended, changed,customized or configured for use in a particular context") is therefore a crucial property of software systems. Organizations capable of mastering variability can deliver high-quality variants (or products) in a short amount of time and thus attract numerous customers, new use-cases or usage contexts. A hard problem for end-users or software developers is to master the combinatorial explosion induced by variability: Hundreds of configuration options can be combined, each potentially with distinct functionality and effects on execution time, memory footprint, quality of the result, etc. The first part of this course will introduce variability-intensive systems, their applications and challenges, in various software contexts. We will use intuitive examples (like a generator of LaTeX paper variants) and real-world systems (like the Linux kernel). A second objective of this course is to show the relevance of ArtificialIntelligence (AI) techniques for exploring and taming such enormous variability spaces. In particular, we will introduce how (1) satisfiability and constraint programming solvers can be used to properly model and reason about variability; (2) how machine learning can be used to discover constraints and predict the variability behavior of configurable systems or software product lines.
http://ejcp2019.icube.unistra.fr/
Biology, medicine, physics, astrophysics, chemistry: all these scientific domains need to process large amount of data with more and more complex software systems. For achieving reproducible science, there are several challenges ahead involving multidisciplinary collaboration and socio-technical innovation with software at the center of the problem. Despite the availability of data and code, several studies report that the same data analyzed with different software can lead to different results. I am seeing this problem as a manifestation of deep software variability: many factors (operating system, third-party libraries, versions, workloads, compile-time options and flags, etc.) themselves subject to variability can alter the results, up to the point it can dramatically change the conclusions of some scientific studies. In this keynote, I argue that deep software variability is a threat and also an opportunity for reproducible science. I first outline some works about (deep) software variability, reporting on preliminary evidence of complex interactions between variability layers. I then link the ongoing works on variability modelling and deep software variability in the quest for reproducible science.
SyncMeta: Near Real-time Collaborative Conceptual Modeling on the WebNicolaescu Petru
Framework for near real-time (meta) modeling on the Web. Permits the collaborative editing of meta models and the generation of near real-time collaborative modeling editors. It uses a visual modeling approach.
http://dbis.rwth-aachen.de/cms/research/ACIS/SyncMeta
An Ad-hoc Smart Gateway Platform for the Web of Things (IEEE iThings 2013 Bes...Darren Carlson
The Web of Things (WoT) aims to extend the Web into the physical world by promoting the adoption of Web protocols by situated services and smart objects (ambient artifacts). However, real-world ambient artifacts often adopt proprietary and/or non-Web protocols, making them invisible to Web search engines and inaccessible to conventional Web agents. Smart Gateways have been proposed as a way to “Web-enable” proprietary ambient artifacts through intermediary proxy nodes; however, the requisite infrastructure is difficult to deploy at Web scale. To address such challenges, we are developing Ambient Dynamix (Dynamix): a plug-and-play context framework for mobile devices, which enables Web agents to interoperate with non-Web ambient artifacts – directly from the browser. In this paper, we describe how Dynamix can be used to transform the user’s device into an ad-hoc Smart Gateway in-situ, enabling Web applications (in the device’s browser) to seamlessly interact with non-Web ambient artifacts in the physical environment. We describe an operational prototype implementation, which enables Web apps to discover and control nearby UPnP and AirPlay media devices uniformly. We also present a performance evaluation that indicates the prototype imposes low processing and memory overhead, and is suitable for deployment on many commodity mobile devices.
3D printing is gaining more and more momentum to build
customized product in a wide variety of fields. We con-
duct an exploratory study of Thingiverse, the most popular
Website for sharing user-created 3D design les, in order to
establish a possible connection with software product line
(SPL) engineering. We report on the socio-technical aspects
and current practices for modeling variability, implementing
variability, configuring and deriving products, and reusing
artefacts. We provide hints that SPL-alike techniques are
practically used in 3D printing and thus relevant. Finally,
we discuss why the customization in the 3D printing eld
represents a challenging playground for SPL engineering.
[2015/2016] Software systems engineering PRINCIPLESIvano Malavolta
This presentation is about a lecture I gave within the "Software systems and services" immigration course at the Gran Sasso Science Institute, L'Aquila (Italy): http://cs.gssi.infn.it/.
http://www.ivanomalavolta.com
New Explore Careers and College Majors 2024.pdfDr. Mary Askew
Explore Careers and College Majors is a new online, interactive, self-guided career, major and college planning system.
The career system works on all devices!
For more Information, go to https://bit.ly/3SW5w8W
Want to move your career forward? Looking to build your leadership skills while helping others learn, grow, and improve their skills? Seeking someone who can guide you in achieving these goals?
You can accomplish this through a mentoring partnership. Learn more about the PMISSC Mentoring Program, where you’ll discover the incredible benefits of becoming a mentor or mentee. This program is designed to foster professional growth, enhance skills, and build a strong network within the project management community. Whether you're looking to share your expertise or seeking guidance to advance your career, the PMI Mentoring Program offers valuable opportunities for personal and professional development.
Watch this to learn:
* Overview of the PMISSC Mentoring Program: Mission, vision, and objectives.
* Benefits for Volunteer Mentors: Professional development, networking, personal satisfaction, and recognition.
* Advantages for Mentees: Career advancement, skill development, networking, and confidence building.
* Program Structure and Expectations: Mentor-mentee matching process, program phases, and time commitment.
* Success Stories and Testimonials: Inspiring examples from past participants.
* How to Get Involved: Steps to participate and resources available for support throughout the program.
Learn how you can make a difference in the project management community and take the next step in your professional journey.
About Hector Del Castillo
Hector is VP of Professional Development at the PMI Silver Spring Chapter, and CEO of Bold PM. He's a mid-market growth product executive and changemaker. He works with mid-market product-driven software executives to solve their biggest growth problems. He scales product growth, optimizes ops and builds loyal customers. He has reduced customer churn 33%, and boosted sales 47% for clients. He makes a significant impact by building and launching world-changing AI-powered products. If you're looking for an engaging and inspiring speaker to spark creativity and innovation within your organization, set up an appointment to discuss your specific needs and identify a suitable topic to inspire your audience at your next corporate conference, symposium, executive summit, or planning retreat.
About PMI Silver Spring Chapter
We are a branch of the Project Management Institute. We offer a platform for project management professionals in Silver Spring, MD, and the DC/Baltimore metro area. Monthly meetings facilitate networking, knowledge sharing, and professional development. For event details, visit pmissc.org.
1. Duc M. LeSOFTWARE ENGINEER · SOFTWARE ARCHITECTURE RESEARCHER · SOFTWARE REPOSITORY MINER
941 Bloom Walk, Los Angeles, CA 90089-0781, U.S.
(+1) 213-884-8846 | ducmle@usc.edu | lemduc.wordpress.com | lemduc | lemduc | lemduc
Summary
Blends research experience in Software Engineering and Data Mining with diverse and practical trainings in the software industries of Vietnam, S.Korea
and U.S. to offer solid skills in software design and development. Experiences include (1) mining software repositories/big data, (2) developing cloud-
based applications and web services, (3) architecture design, recovery, and analysis, (4) software product line engineering.
Education
University of Southern California (USC) Los Angeles, U.S.
PHD IN COMPUTER SCIENCE, SOFTWARE ARCHITECTURE RESEARCH GROUP (SOFTARCH) (Expected) May 2018
• Advisor: Prof. Nenad Medvidović GPA : 3.87/4.00
Pohang University of Science and Technology (POSTECH) Pohang, S.Korea
MSC IN INFORMATION TECHNOLOGY CONVERGENCE ENGINEERING, SOFTWARE ENGINEERING LAB (SELAB) May 2012
• Advisor: Prof. Kyo Chul Kang GPA : 95.9/100.0
Hanoi University of Science and Technology (HUST) Hanoi, Vietnam
BSC IN INFORMATION TECHNOLOGY (MAGNA CUM LAUDE) May 2010
• Advisors: Assoc. Prof. Huynh Quyet Thang (HUST), Dr. Martin Nordio (ETH Zurich) GPA: 8.07/10.00
Work Experience
NEC Laboratories America, Inc. Princeton, New Jersey, U.S.
RESEARCH INTERN - COMPUTER SECURITY GROUP May. 2017 - Aug. 2017
• Analyzed activity logs of PCs in the company’s internal networks and extract patterns of safe activities.
• Built different prediction models for those patterns.
• Implemented the approach and integrated into Automated Security Intelligence (ASI) system of NEC.
Veritas Technologies LLC Culver, California, U.S.
SOFTWARE ENGINEERING INTERN - EV.CLOUD PROJECT, PLATFORM TEAM May. 2016 - Aug. 2016
• Applied topic modeling and machine learning techniques to intelligently suggest retention policies for customers’ emails.
• Implemented and verified the proposed approach on Enron dataset using Spark, Hadoop, Cassandra, and Spring Framework.
• Was selected to present at VERITAS Cutting Edge 2016.
Samsung Research America Irvine, California, U.S.
RESEARCH INTERN - ADVANCED PRINTING SOFTWARE LAB Jun. 2015 - Sep. 2015
• Completed the end-to-end scenario of extracting UP (Unified Interfaces of Samsung Printers) variability information from an actual MFP (Multi-
Functions Printers), representing this in a UP variability model, editing this information, and using it to configure a running simulator instance.
• This involved design and implementation using different technologies: OSGi, EMF, Eclipse plug-ins, REST-ful webservices, UI development.
Dasan Handysoft Seoul, S.Korea
SOFTWARE ENGINEER Sep. 2012 - Jun. 2013
• Designed the server architecture of HandyUC 5.0, a platform providing various types of communication to enterprises, including email, instant
messaging, and video conferencing.
• Implemented communication protocols of HandyUC, including XMPP protocol, Handysoft’s legacy protocol, and a Http-based protocol.
HDC Media Vietnam Hanoi, Vietnam
PHP DEVELOPER & ASTERISK PBX ADMINISTRATOR Aug. 2009 - Jun. 2010
• Developed a movie website based on Joomla platform to provide video contents to customers.
• Maintained and adapted Asterisk PBX system of the company to meet the company’s requirements.
Skills
Programming Java (Proficient), Python, Linux Shell, PHP, JavaScript, C/C++
Frameworks Spark, Spring, OSGi, EMF, GWT, Joomla, Liferay, Microsoft Azure
Databases MySQL, MongoDB
Others Agile Development, LATEX, SVN, Git, Asterisk PBX
FEBRUARY 27, 2018 DUC M. LE · CURRICULUM VITAE 1
2. Research Experience
Architectural Change and Decay in Open-source Software Systems Los Angeles, CA, U.S.
SOFTWARE ARCHITECTURAL RESEARCH GROUP, USC Feb. 2014 - PRESENT
• Reversed architectures of over 800 versions of 23 open-source systems, totaling over 120 MLOCs.
• Found evolution trends related to architectural changes in software systems, rate of architectural decay occurrences, correlations among imple-
mentation decisions and architectural changes.
• Use implicit problems, e.g., architectural- and code-smells, in combination with explicit problems, e.g. reported issues and bugs, to provide an
accurate, systematic and in depth approach to predict potential system problems, particularly bugs.
• Cooperated with Huawei USA in a study of how to adapt the company’s codebase to architectural changes in new Android versions.
Privacy Preserving in Distributed Computation Los Angeles, CA, U.S.
SOFTWARE ARCHITECTURAL RESEARCH GROUP, USC May. 2014 - Aug. 2014
• Studied sTile, a tile-based architecture, which tackles the problem of distributing computation onto cloud, while providing probabilistic guarantees
that agents compromising parts of the cloud wouldn’t be able to learn the private data and the nature of the computation.
• Deployed and evaluated a prototype of sTile on several main cloud services (Azure, EC2, Google Cloud).
Impact Analysis of Software Requirement Change based on Feature Relationships Pohang, S.Korea
SOFTWARE ENGINEERING LAB, POSTECH Sep. 2012 - Feb. 2013
• Reversed feature models based on variation points and variants embedded by C preprocessor.
• Verified consistency between designed models and reversed models and provided refactoring advice.
• Integrated into VULCAL Workbench, a CASE tool that supports software product line engineering.
CloudStudio - Enabling distributed projects to produce software “on the cloud” Hanoi, Vietnam
ETH ZURICH & HUST Aug. 2009 - Jun. 2010
• Created the initial version of CloudStudio, an Integrated Development Environment (IDE) enabling globally distributed software projects and pro-
ducing software “on the cloud”.
• Developed the following features: project management, code editor, project compilation, group communication.
Publications
A Large-Scale Study of Architectural Evolution in Open-Source Software Systems U.S.
POOYAN BEHNAMGHADER*, DUC M. LE*, JOSHUA GARCIA, DANIEL LINK, ARMAN SHAHBAZIAN, NENAD MEDVIDOVIC Jun. 2017
• Empirical Software Engineering (EMSE) Journal
Architectural-Based Speculative Analysis to Predict Bugs in a Software System Austin, U.S.
DUC M. LE May. 2016
• Proceeding of the 38th International Conference on Software Engineering (ICSE), Doctoral Symposium track
Relating Architectural Decay and Sustainability of Software Systems Venice, Italy
DUC M. LE, CARLOS CARRILLO, RAFAEL CAPILLA, NENAD MEDVIDOVIC Apr. 2016
• Proceeding of the 13th Working IEEE/IFIP Conference on Software Architecture (WICSA)
An Empirical Study of Architectural Change in Open-Source Software Systems Florence, Italy
DUC M. LE, POOYAN BEHNAMGHADER, JOSHUA GARCIA, DANIEL LINK, ARMAN SHAHBAZIAN, NENAD MEDVIDOVIC May. 2015
• Proceeding of the 12th Working Conference on Mining Software Repositories (MSR)
Validating consistency between feature model and its implementation Pisa, Italy
DUC M. LE, LEE HYESUN, KYO C. KANG, KEUN LEE Jun. 2013
• Proceeding of the 13th International Conference on Software Reuse (ICSR)
Relevant Coursework
Software Engineering Advanced Algorithms Machine Learning Database Systems
Software Architecture Artificial Intelligence Natural Language Processing Information and Data Modeling
Software Testing Decision Support Systems Advanced Operating Systems Information Security
Honors & Awards
2016 ‘Thesis in Three’ - Best Presentation Award, Doctoral Symposium, ICSE 2016 Austin, TX, USA
2015 Awardee, ACM SigSoft CAPS Travel Support for attending ICSE 2015 Florence, Italy
2014 Awardee, USC Doctoral Student Summer Institute Award Los Angeles, CA, U.S.
2013 Awardee, Vietnam Education Foundation Fellowship U.S.
2011 Best Poster Prize, 3rd International Symposium on IT Convergence Engineering Pohang, S.Korea
2010 Awardee, Research Scholarship from National Research Foundation of Korea Pohang, S. Korea
2010 Awardee, Certificate of Merit for Excellent Graduation Achievement Hanoi, Vietnam
FEBRUARY 27, 2018 DUC M. LE · CURRICULUM VITAE 2