Sometime in 2019, MIT PhD student Ajay Brahmakshatriya formulated a simple, though still quite challenging, goal. He wanted to make it possible for people who had expertise in a particular domain such as climate modeling, bioinformatics, or architecture to write their own programming languages, so-called domain-specific languages (or DSLs), even if they had little or no experience in creating programming languages. A member of the research group headed by MIT Professor Saman Amarasinghe in the Institutes Computer Science and Artificial Intelligence Laboratory (CSAIL), Brahmakshatriya wanted these languages to come with all the auxiliary functions people would need to comfortably utilize them, including tools for debugging. This process for getting rid of errors in a piece of software is essential, he and Amarasinghe agreed, as they have called the lack of debugging support the Achilles heel for DSLs.
Its been a productive few years for both of them. In 2021, Brahmakshatriya and Amarasinghe introduced BuildIt, a software package that greatly simplifies the task of creating DSLs. And last month, at an international conference in Montreal co-sponsored by the Association for Computing Machinery, the duo introduced D2X, a tool that makes it easy to add debugging to any DSL and has been shown to work particularly well with BuildIt. Their paper on the work even won one of two Distinguished Paper Awards given at the conference.
The main reason for producing a language in a specialized domain, Brahmakshatriya explains, is to promote ease of use. An image-processing DSL, for example, could have a function that says blur the entire image. Issuing that same command in a general-purpose language would require many more lines of code, notes Brahmakshatriya. Thats part of the reason to use a DSL. The other is performance. Because the operations are specific to that domain, they can be more readily optimized carried out in the proper order, and hence completed more efficiently and quickly.
Brahmakshatriya describes BuildIt as a DSL for creating DSLs. It facilitates a multistep procedure for taking an existing, all-purpose programming language and paring it down until it becomes specialized in just the right way. Suppose you have a problem, and you want to write a program to solve it, he says. You could write a program to solve it in its entirety, or you could write a smaller program to solve just the subclass of the problem youre interested in. The more specialized you make the program, the faster it runs. BuildIt is designed to construct DSLs with those guiding principles in mind.
Halide an image processing language invented in 2012, years before BuildIt was around is one of the first DSLs to come out of Amarasinghes group. Its development was led by then-graduate student Jonathan-Ragan Kelley and Andrew Adams, a CSAIL postdoc at the time. Halide is very popular now, and it is used in many Adobe applications, including Photoshop, but it still doesnt have a debugger, Amarasinghe says. The reason for that, he adds, is that debuggers are very complicated. Its very hard to write them, which is why most small DSLs dont have debugging support.
Thats not a desirable state of affairs, according to Brahmakshatriya, who insists that every DSL should have its own debugger. You cant directly use existing debuggers for your new language because they dont understand the domain. Its impossible, moreover, to write a program that is completely correct the first time around, he says. You always start with something that has errors in it, though they often dont show up until much later in the development cycle. If a bug crops up at that point, when you have 5,000 lines of code, it can be very hard to find it. Consequently, once a program is code complete deemed ready for testing by its developers software engineers may then have to devote more than half their time to the arduous chore of debugging.
But help is on the way in the form of D2X (pronounced detox because it relates to the notion of ridding your program of poisons or defects). D2X is not a program, per se, but is instead classified as a library a piece of computer code that can be reused by other programs. It is designed to work with existing debuggers (such as GDB or LLDB), serving as a bridge between those tools and a given DSL. A debugger needs information about the program, or programming language, that is to be cleaned up. Each debugger requires that information in its own particular format, which can be a 400-page document, Amarasinghe says. If you use D2X, you dont have to worry about that. Its taken care of for you.
With D2X serving as the interface, Brahmakshatriya says, your program can be debugged using popular debuggers without any modifications to the debuggers themselves. To his mind, that is the main advantage that comes from combining D2X with BuildIt: If you write a DSL using BuildIt, you dont have to do any extra work. You get a debugger for free, without writing a single extra line of code.
D2X addresses an inherent contradiction in high-performance software head-on, comments Adrian Sampson, an associate professor of computer science at Cornell University. On the one hand, domain-specific languages are our only hope for serious improvements in computing efficiency in the modern era.However, making a new debugger for a new language from scratch is hard, and the absence of a debugger is a rational reason that a programmer might reject a better language in favor of a worse one. The great thing about D2X is that it lowers the barrier to constructing a useful debugger for a DSL.
But thats not the end of the story, so far as Brahmakshatriya is concerned. Another feature hed like to merge with BuildIt, in addition to debugging, is editing, which makes it easier to write a program. Editors, for example, can highlight certain keywords in a document, which can improve its readability. They can perform other functions, such as autocomplete, which automatically fills in text after a small portion is entered.
Brahmakshatriya would like to include profilers along with debuggers and editors as part of the BuildIt platform. Profilers are like debuggers, but instead of helping you find bugs, they let you assess the performance issues in your program, he says. If the program is running slower than expected, you can use a profiler to understand which part of the program is bogging things down. Other useful features could be added in the future, he says.
All of these efforts, Amarasinghe maintains, will make the prospect of creating specialized languages much more attractive. As I see it, theres a huge number of people who support traditional languages thousands of programmers building tools for C, C++, or Java, he says. On the other hand, If I am building a simple DSL, I dont have thousands of programmers to provide all that support. But now, with BuildIt and D2X, he adds, the small guys can get all the things the others get, including debuggers and eventually editors and profilers the same benefits that come with traditional languages. And you can get that without having teams of engineers writing all kinds of complicated code.
This work was supported by the Application Driving Architectures Research Center, the U.S. Defense Advanced Projects Agency (DARPA), a Joint University Microelectronics Program Center co-sponsored by theSemiconductor Research Corporation and DARPA; the National Science Foundation (NSF); and an Intel/NSF award.
Continued here:
An easier way to get bugs out of programming languages - MIT News
- University of California expands list of courses that meet math requirement for admission - EdSource [Last Updated On: November 11th, 2020] [Originally Added On: November 11th, 2020]
- Bombshell Betty Race car to be Reengineered and Restored By UVU Students to honor the Legacy of its Owner - GlobeNewswire [Last Updated On: November 11th, 2020] [Originally Added On: November 11th, 2020]
- Phyllis Coleman Mouton to receive Trailblazer Award at Women Who Mean Business ceremony - The Advocate [Last Updated On: November 11th, 2020] [Originally Added On: November 11th, 2020]
- Fairfield University Partners with Pulse Secure on New Cybersecurity Lab to Prepare the Next Generation of Information Security Professionals -... [Last Updated On: November 11th, 2020] [Originally Added On: November 11th, 2020]
- Global Cloud Identity and Access Management(IAM) Market Segmentation By Top Key Players- IBM Microsoft Oracle Computer Science CA Okta NetIQ Sailpoint... [Last Updated On: November 11th, 2020] [Originally Added On: November 11th, 2020]
- Stanford supports alliance of universities in diversifying STEM postdocs - The Stanford Daily [Last Updated On: November 11th, 2020] [Originally Added On: November 11th, 2020]
- N.C. A&T Welcomes New and Newly-Appointed Administrators and Faculty - Yes! Weekly [Last Updated On: November 11th, 2020] [Originally Added On: November 11th, 2020]
- Calvin Students Place In Top 10% Of Worldwide Programming Competition - News - Calvin News [Last Updated On: November 11th, 2020] [Originally Added On: November 11th, 2020]
- Multiple tenure-track positions in Computer Science & Engineering job with University of Minnesota-Twin Cities Computer Science & Engineering... [Last Updated On: November 11th, 2020] [Originally Added On: November 11th, 2020]
- New smartwatch app alerts deaf and hard-of-hearing users to common home-related sounds - National Science Foundation [Last Updated On: November 11th, 2020] [Originally Added On: November 11th, 2020]
- MTRAC Innovation Hub for Advanced Computing awards $270000 to Wayne State University artificial intelligence projects - The South End [Last Updated On: November 11th, 2020] [Originally Added On: November 11th, 2020]
- New study outlines steps higher education should take to prepare a new quantum workforce | College of Science | RIT - RIT University News Services [Last Updated On: November 11th, 2020] [Originally Added On: November 11th, 2020]
- Carleton Hosts Herzberg Lecture on Increasing Diversity in Computer Science with Maria Klawe - Carleton Newsroom [Last Updated On: November 11th, 2020] [Originally Added On: November 11th, 2020]
- Baylor University Invites Application for McCollum Endowed Chair of Data Science - Analytics Insight [Last Updated On: November 11th, 2020] [Originally Added On: November 11th, 2020]
- CHEN | Put Computer Science in the Common Core - Cornell University The Cornell Daily Sun [Last Updated On: November 11th, 2020] [Originally Added On: November 11th, 2020]
- GCVI's Tremain running to the NCAA on scholarship - GuelphToday [Last Updated On: November 28th, 2020] [Originally Added On: November 28th, 2020]
- Faculty, alumni, other members of U of T community named to Order of Canada - News@UofT [Last Updated On: November 28th, 2020] [Originally Added On: November 28th, 2020]
- Why 4-year colleges are tapping Amazon to help deliver cloud computing degrees - Education Dive [Last Updated On: November 28th, 2020] [Originally Added On: November 28th, 2020]
- Army Teams With Howard University on AI Center MeriTalk - MeriTalk [Last Updated On: November 28th, 2020] [Originally Added On: November 28th, 2020]
- McGrath one of 10 women to earn STEM scholarship - The Riverdale Press [Last Updated On: November 28th, 2020] [Originally Added On: November 28th, 2020]
- This learning platform is proving adults can benefit greatly from learning math and science - iMore [Last Updated On: November 28th, 2020] [Originally Added On: November 28th, 2020]
- Artificial Intelligence Is Now Smart Enough to Know When It Can't Be Trusted - ScienceAlert [Last Updated On: November 28th, 2020] [Originally Added On: November 28th, 2020]
- Students and schools in the news - Blue Springs Examiner [Last Updated On: November 28th, 2020] [Originally Added On: November 28th, 2020]
- Missouri S&T News and Events Missouri S&T faculty honored for outstanding teaching - Missouri S&T News and Research [Last Updated On: November 28th, 2020] [Originally Added On: November 28th, 2020]
- HCCC Offers Opportunities for Adjunct Faculty and Instructors at Virtual Job Fair - The Hudson Reporter [Last Updated On: November 28th, 2020] [Originally Added On: November 28th, 2020]
- 4-H ignites a passion for science and technology in Minnesota youth - Southernminn.com [Last Updated On: November 28th, 2020] [Originally Added On: November 28th, 2020]
- MIT's New Center to Advance Predictive Simulation Research Will Focus on Exascale Simulation of Materials in Hypersonic Flow Environments -... [Last Updated On: November 28th, 2020] [Originally Added On: November 28th, 2020]
- Computer scientist James Allen named AAAS fellow - University of Rochester [Last Updated On: November 28th, 2020] [Originally Added On: November 28th, 2020]
- Center to advance predictive simulation research established at MIT Schwarzman College of Computing - MIT News [Last Updated On: November 28th, 2020] [Originally Added On: November 28th, 2020]
- Setting the pace in computer science education | Opinion - Paragould Daily Press [Last Updated On: November 28th, 2020] [Originally Added On: November 28th, 2020]
- Mohammed VI University in Benguerir Launches School of Computer Science - Morocco World News [Last Updated On: November 28th, 2020] [Originally Added On: November 28th, 2020]
- Asa Hutchinson: Setting the pace in computer science education - Searcy Daily Citizen [Last Updated On: November 28th, 2020] [Originally Added On: November 28th, 2020]
- Former FX tech person points out the racist trajectory of skin and hair CGI - Boing Boing [Last Updated On: December 11th, 2020] [Originally Added On: December 11th, 2020]
- AI is not yet perfect, but it's on the rise and getting better with computer vision - TechRepublic [Last Updated On: December 11th, 2020] [Originally Added On: December 11th, 2020]
- Philosophy Threatened at University of Evansville - Daily Nous [Last Updated On: December 11th, 2020] [Originally Added On: December 11th, 2020]
- Two Maryland Teachers Receive National Honors in Math, Science Education - maryland.gov [Last Updated On: December 11th, 2020] [Originally Added On: December 11th, 2020]
- Special Scientist Research, Department of Computer Science job with UNIVERSITY OF CYPRUS | 238208 - Times Higher Education (THE) [Last Updated On: December 11th, 2020] [Originally Added On: December 11th, 2020]
- Computer science jobs pay well and are growing fast. Why are they out of reach for so many of America's students? - The Conversation US [Last Updated On: December 11th, 2020] [Originally Added On: December 11th, 2020]
- Computer science grad finds success and a new academic family in cybersecurity - ASU Now [Last Updated On: December 11th, 2020] [Originally Added On: December 11th, 2020]
- What is Computer Science? in the US - International Student [Last Updated On: December 11th, 2020] [Originally Added On: December 11th, 2020]
- Accurate Neural Network Computer Vision Without The 'Black Box' - Duke Today [Last Updated On: December 19th, 2020] [Originally Added On: December 19th, 2020]
- Crick Named Mathematical Sciences Distinguished Alumnus Of The Year - The Chattanoogan [Last Updated On: December 19th, 2020] [Originally Added On: December 19th, 2020]
- Nadya's Hot Chocolate Bombs: yummy for the tummy - theday.com [Last Updated On: December 19th, 2020] [Originally Added On: December 19th, 2020]
- Trouble hearing in a crowded room? New 'cone of silence' could help - Science Magazine [Last Updated On: December 19th, 2020] [Originally Added On: December 19th, 2020]
- James Fujimoto wins the Visionary Prize from the Greenberg Prize to End Blindness - MIT News [Last Updated On: December 19th, 2020] [Originally Added On: December 19th, 2020]
- To the brain, reading computer code is not the same as reading language - MIT News [Last Updated On: December 19th, 2020] [Originally Added On: December 19th, 2020]
- U of Texas will stop using controversial algorithm to evaluate Ph.D. applicants - Inside Higher Ed [Last Updated On: December 19th, 2020] [Originally Added On: December 19th, 2020]
- Gift from Ann S. Bowers '59 creates new college of computing and information science | Cornell Chronicle - Cornell Chronicle [Last Updated On: December 19th, 2020] [Originally Added On: December 19th, 2020]
- NYS Board of Regents adopts first-ever learning standards for computer science and digital fluency - RochesterFirst [Last Updated On: December 19th, 2020] [Originally Added On: December 19th, 2020]
- Computer science prof Townsend recognized for educational contributions - DePauw University [Last Updated On: December 19th, 2020] [Originally Added On: December 19th, 2020]
- Missouri S&T News and Events New faculty in computer science - Missouri S&T News and Research [Last Updated On: December 19th, 2020] [Originally Added On: December 19th, 2020]
- Retired UW computer science professor embroiled in Twitter spat over AI ethics and cancel culture - GeekWire [Last Updated On: December 19th, 2020] [Originally Added On: December 19th, 2020]
- How UC fought COVID-19 in 2020 - University of California [Last Updated On: December 23rd, 2020] [Originally Added On: December 23rd, 2020]
- Search committee appointed for dean of Princeton's School of Public and International Affairs - Princeton University [Last Updated On: December 23rd, 2020] [Originally Added On: December 23rd, 2020]
- How Yale economists are informing India's COVID-19 response - Yale News [Last Updated On: December 23rd, 2020] [Originally Added On: December 23rd, 2020]
- Top MIT research stories of 2020 - MIT News [Last Updated On: December 23rd, 2020] [Originally Added On: December 23rd, 2020]
- St. Albans City School kids were 'on the case' for Computer Science Week. What mystery did they solve? - St. Albans Messenger [Last Updated On: December 23rd, 2020] [Originally Added On: December 23rd, 2020]
- Cobb Schools receives grant for computer science teacher training - The Catoosa County News [Last Updated On: December 23rd, 2020] [Originally Added On: December 23rd, 2020]
- Scholarship honors the legacy of Terry Arthur's dedication to students - Augusta Free Press [Last Updated On: December 24th, 2020] [Originally Added On: December 24th, 2020]
- This tool helps predict which COVID patients will need hospitalization and which can be sent home - Press-Enterprise [Last Updated On: December 24th, 2020] [Originally Added On: December 24th, 2020]
- Students express concerns over teaching appointment of Jason Mars - The Michigan Daily [Last Updated On: December 24th, 2020] [Originally Added On: December 24th, 2020]
- Prince Mohammad Bin Fahd University hosted the International Conference on Computing, Mobility, and Manufacturing (CMM 2020) - PRNewswire [Last Updated On: January 10th, 2021] [Originally Added On: January 10th, 2021]
- These Are the College Majors That Pay Off the Most - 24/7 Wall St. [Last Updated On: January 10th, 2021] [Originally Added On: January 10th, 2021]
- He Was Going to Close the Family Diner. Then He Got a Sign. - The New York Times [Last Updated On: January 10th, 2021] [Originally Added On: January 10th, 2021]
- Members of Several Well-Known Hate Groups Identified at Capitol Riot - FRONTLINE [Last Updated On: January 10th, 2021] [Originally Added On: January 10th, 2021]
- Carver Community Center to offer free pampers to mothers, free coding classes for youth - Marshall News Messenger [Last Updated On: January 10th, 2021] [Originally Added On: January 10th, 2021]
- MIT's College of Computing building takes shape as Alexandria and BioMed make moves in Boston - Cambridge Day [Last Updated On: January 10th, 2021] [Originally Added On: January 10th, 2021]
- Bylaws of the Department of Computer Science and Engineering - Nevada Today [Last Updated On: January 10th, 2021] [Originally Added On: January 10th, 2021]
- Student-run HPAIR conference goes virtual this year - Harvard Gazette [Last Updated On: January 16th, 2021] [Originally Added On: January 16th, 2021]
- JUST IN: Computer scientists in breakthrough - The Herald [Last Updated On: January 16th, 2021] [Originally Added On: January 16th, 2021]
- Optimizing Traffic Signals To Reduce Intersection Wait Times - Texas A&M University Today [Last Updated On: January 16th, 2021] [Originally Added On: January 16th, 2021]
- STEM Majors: Interested in a 1-Credit Course About Teaching Math, Science or Computer Science? - University of Arkansas Newswire [Last Updated On: January 16th, 2021] [Originally Added On: January 16th, 2021]
- Stanford AI scholar Fei-Fei Li writes about humility in tech - Fast Company [Last Updated On: January 16th, 2021] [Originally Added On: January 16th, 2021]
- Professor in Computer Science - The Voice Online [Last Updated On: January 16th, 2021] [Originally Added On: January 16th, 2021]
- Expansion project to grow computer science learning, research at Algoma University - Northern Ontario Business [Last Updated On: January 31st, 2021] [Originally Added On: January 31st, 2021]
- Teacher of Year finalist expanding Walden Grove computer science program - KGUN [Last Updated On: January 31st, 2021] [Originally Added On: January 31st, 2021]
- Here's why you should get a master's in computer science - Study International News [Last Updated On: January 31st, 2021] [Originally Added On: January 31st, 2021]
- Two UWF teams place in top 5 in national artificial intelligence competition - University of West Florida Newsroom - UWF Newsroom [Last Updated On: February 5th, 2021] [Originally Added On: February 5th, 2021]
- WNMU Board of Regents Virtually Sits Down With Legislators, Governor - WNMU News [Last Updated On: February 5th, 2021] [Originally Added On: February 5th, 2021]
- Department name change signals broad impact on computer and information technologies - Princeton University [Last Updated On: February 5th, 2021] [Originally Added On: February 5th, 2021]