IP Library Granted Patent US 12,699,553
Granted Patent B2
US 12,699,553 · App. 18/423,784 · Granted Aug 4, 2026

Construct-modification tags for development-phase compiler requests

Inventors: Sridhar Vembu (Tenkasi, IN); Akshhayaa S (Guduvanchery, IN); Joseph Sathya Kumar (Chennai, IN); Balamurugan K E (Chennai, IN); Suresh Kumar R (Chennai, IN); Mohamed Ismail Kaja Mydeen (Sivakasi, IN); Ramesh Kumar Govindaraj (Rajapalayam, IN); Siba Mishra (Puri, IN); Vanaja Ramaswamy (Chennai, IN); Padma J (Chennai, IN); Shalini Lakshmi A J (Chennai, IN); Sudheer A. Grandhi (Pleasanton, CA)
G06F8/427G06F8/37G06F8/41G06F8/423G06F8/433G06F8/443G06F21/14
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,699,553
App. No.
18/423,784
Granted
Aug 4, 2026
Kind
B2
Abstract

A set of construct-modification tags conveying development-phase compiler requests are introduced into source code to facilitate communication between developers, identify areas that need developer attention, send directives to a compiler, and other development features in an integrated development environment, during the software development phase. Tags may incorporate properties, permissions, and generate notifications. Example tags include IGNORE, DEACTIVATE, OPTIMIZE, FIX, ALTERNATE, PROTOTYPE, REQUESTREVIEW, REVIEWED, CANDIDATE, and BESTCANDIDATE. Methods ensure that tags no longer remain in source code once the software development process enters the production phase.

Claims (46)

1 . A method of compiling source code, the method comprising:

parsing a source code statement, the source code statement having:

a keyword; and

a programming language construct;

wherein the keyword conveys a compiler request associated with the programming language;

evaluating whether a production flag is set during compilation;

during compilation, responsive to parsing the keyword,

generating an error when the production flag is set; and

during compilation, performing the compiler request and compiling the programming language construct in accordance with the compiler request responsive to parsing the keyword when the production flag is not set.

2 . The method of claim 1 , wherein the programming language construct is ignored during compilation responsive to the keyword conveying an ignore compiler request.

3 . The method of claim 1 , the programming language construct having a semantic dependency, wherein the programming language construct and the semantic dependency are deactivated during compilation responsive to the keyword conveying a deactivate compiler request.

4 . The method of claim 1 , wherein the keyword indicates the programming language construct is a construct to be optimized and the programming language construct is compiled with the keyword.

5 . The method of claim 1 , wherein the keyword indicates the programming language construct is a construct to be fixed and the programming language construct is compiled with the keyword.

6 . The method of claim 1 , wherein the first-mentioned programming language construct has a name and the source code is scanned for a second programming language construct associated with the name responsive to the keyword conveying an alternate compiler request.

7 . The method of claim 1 , wherein the programming language construct is ignored and instructions are generated during compilation operable to generate a message at runtime responsive to the keyword conveying a prototype compiler request.

8 . The method of claim 1 , wherein a message requesting review from a developer is generated responsive to the keyword conveying a request-review compiler request.

9 . The method of claim 1 , wherein a message to a developer is generated when the keyword conveys a requested review is complete.

10 . The method of claim 1 , wherein the first-mentioned programming language construct has a name and the source code is scanned for a second programming language construct associated with the name responsive to the keyword conveying a candidate compiler request, the method further comprising:

compiling the first programming language construct into a first executable code;

compiling the second programming language construct into a second executable code;

profiling the first executable code to produce a first profiled result;

profiling the second executable code to produce a second profiled result; and

comparing the first and second profiled results.

11 . A method of compiling source code for a computer program, the method comprising:

encountering a statement naming a construct of the source code, the statement including a construct-modification tag conveying a compiler request, the construct-modification tag comprising a condition; and

responsive to the compiler request,

determining if the condition is met; and

during compilation, performing the compiler request responsive to the condition being met.

12 . The method of claim 11 , wherein the condition specifies at least one of an expiration time of the construct-modification tag, a date, a code version, a production indicator, status of a portion of source code, and the status of a second construct-modification tag.

13 . The method of claim 11 , wherein the compiler request comprises ignoring the construct.

14 . The method of claim 11 , wherein the compiler request comprises:

finding a dependency of the construct; and

deactivating the construct and the dependency.

15 . A system for compiling source code, comprising:

a processor;

a memory communicatively coupled to the processor, the memory storing instructions executable by the processor;

the processor configured to:

parse a source code statement, the source code statement having:

a keyword;

a programming language construct;

wherein the keyword conveys a compiler request associated with the programming language, the compiler request subject to a condition;

evaluate whether the condition is satisfied during compilation;

compile the programming language construct responsive to the condition being satisfied; and

ignore the programming language construct responsive to the condition not being satisfied.

16 . The system of claim 15 , wherein the condition comprises at least one of a date, a code version, a production indicator, status of a portion of source code, and the status of a second keyword.

17 . The system of claim 15 , the processor further configured to abort compilation and generate an error responsive to the keyword when a production flag is set.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 21, 2024
From: VEMBU, SRIDHAR; R, SURESH KUMAR; S, AKSHHAYAA; KAJA MYDEEN, MOHAMED ISMAIL; KUMAR, JOSEPH SATHYA; GOVINDARAJ, RAMESH KUMAR; K E, BALAMURUGAN; MISHRA, SIBA; RAMASWAMY, VANAJA; A J, SHALINI LAKSHMI; J, PADMA; GRANDHI, SUDHEER A
To: ZOHO CORPORATION PRIVATE LIMITED
Reel/Frame 067792/0122 →
Priority Claims (1)
IN 202341011006 · Feb 17, 2023 · national
Continuity (2)
Provisional Application 63494260 · Apr 5, 2023
Related Publication 20240281229A1 · Aug 22, 2024
References Cited (71)
US 5535391A · Hejlsberg et al. · 1996 [cited by applicant]
US 6157955A · Narad · 2000 [cited by examiner]
US 6158048A · Lueh · 2000 [cited by examiner]
US 6289506B1 · Kwong · 2001 [cited by examiner]
US 6421808B1 · McGeer · 2002 [cited by applicant]
US 6915519B2 · Williamson · 2005 [cited by examiner]
US 7047521B2 · Bunnell · 2006 [cited by applicant]
US 7120897B2 · Ebbo · 2006 [cited by applicant]
US 7191433B2 · Narad · 2007 [cited by applicant]
US 7441238B2 · Zatloukal · 2008 [cited by examiner]
US 7805707B2 · Pouliot · 2010 [cited by applicant]
US 8117587B1 · Testardi · 2012 [cited by applicant]
US 8134566B1 · Brown · 2012 [cited by applicant]
US 8482576B1 · Yelsey · 2013 [cited by examiner]
US 8615750B1 · Narayana · 2013 [cited by examiner]
US 9009660B1 · Griffin · 2015 [cited by applicant]
US 9122489B1 · Vanderpool · 2015 [cited by applicant]
US 9489184B2 · Goetz · 2016 [cited by applicant]
US 9684492B2 · Cawley · 2017 [cited by applicant]
US 9836388B1 · Moniz · 2017 [cited by examiner]
US 9928042B2 · Cawley · 2018 [cited by examiner]
US 10296350B2 · Mizrahi · 2019 [cited by applicant]
US 10296587B2 · Heck · 2019 [cited by applicant]
US 10558437B1 · Denisenko · 2020 [cited by applicant]
US 10698668B1 · Pohlack · 2020 [cited by applicant]
US 10809989B2 · Kibel · 2020 [cited by applicant]
US 10853041B2 · Tsingauz · 2020 [cited by applicant]
US 10853125B2 · Ganesan · 2020 [cited by applicant]
US 11030168B2 · Freund · 2021 [cited by examiner]
US 11256480B1 · Hegarty · 2022 [cited by applicant]
US 11928447B2 · Drepper · 2024 [cited by applicant]
US 12367023B2 · Goodwin · 2025 [cited by applicant]
US 12505205B1 · Mekdad · 2025 [cited by applicant]
US 20080028373A1 · Yang et al. · 2008 [cited by applicant]
US 20080104574A1 · Mak et al. · 2008 [cited by applicant]
US 20100242028A1 · Weigert · 2010 [cited by applicant]
US 20150339104A1 · Frenkiel et al. · 2015 [cited by applicant]
US 20180013579A1 · Fairweather · 2018 [cited by examiner]
EP 3161642B1 · 2020 [cited by applicant]
Becker et al, “Fix the First, Ignore the Rest: Dealing with Multiple Compiler Error Messages”, ACM, pp. 1-6 (Year: 2018). [cited by examiner]
Zhang et al, “A Large-Scale Empirical Study of Compiler Errors in Continuous Integration”. ACM, pp. 1-12 (Year: 2019). [cited by examiner]
Meinicke et al, “Capture the Feature Flag: Detecting Feature Flags in Open-Source”, ACM, pp. 1-6 (Year: 2020). [cited by examiner]
Peker et al, “Fast Compiler Optimization Flag Selection”, ACM, pp. 1-6 (Year: 2023). [cited by examiner]
Garciarena et al, “Evolutionary Optimization of Compiler Flag Selection by Learning and Exploiting Flags Interactions”, ACM, pp. 1-9 (Year: 2016). [cited by examiner]
Vishal Shukla, “Examination report under sections 12 & 13 of the Patents Act, 1970 and the Patents Rules, 2003.” Intellectual Property India, Jul. 17, 2025, 6 pages. [cited by applicant]
In view of [cited by applicant]
In view of [cited by applicant]
In view of [cited by applicant]
In view of [cited by applicant]
In view of [cited by applicant]
Wikipedia, “Directive (programming),” retrieved from “https://en.wikipedia.org/w/index.php?title=Directive_(programming)&oldid=1195498757”, last edited on Jan. 14, 2024, at 02:48 (UTC) (4 pages). [cited by applicant]
“Javadoc”, https://docs.oracle.com/javase/8/docs/technotes/tools/windows/javadoc.html#CHDJGIJB, accessed Feb. 16, 2023 (56 pages). [cited by applicant]
Wikipedia, “Hashtag,” retrieved from “https://en.wikipedia.org/w/index.php?title=Hashtag&oldid=1220682870”, last edited on Apr. 25, 2024, at 08:12 (UTC) (11 pages). [cited by applicant]
Wikipedia, “HTML element,” retrieved from “https://en.wikipedia.org/w/index.php?title=HTML_element&oldid=1220631624”, last edited on Apr. 24, 2024, at 23:44 (UTC) (32 pages). [cited by applicant]
“The Javadoc Tags Explained,” https://www.javaguides.net/2018/12/the-javadoc-tags-explained.html, accessed Feb. 6, 2023 (7 pages). [cited by applicant]
“Using Java Documentation Comments,” https://www.javaguides.net/2018/12/using-java-documentation-comments.html, accessed Feb. 6, 2023 (8 pages). [cited by applicant]
Wikipedia, “Tag (metadata),” retrieved from “https://en.wikipedia.org/w/index.php?title=Tag_(metadata)&oldid=1220690582”, last edited on Apr. 25, 2024, at 09:34 (UTC) (12 pages). [cited by applicant]
Mueller et al., “Compiler Support for Software-Based Cache Partitioning”, ACM, pp. 1-9 (Year: 1995). [cited by applicant]
Chhak et al., “Towards Formally Verified Compilation of Tag-Based Policy Enforcement”, ACM, pp. 1-15 (Year: 2021). [cited by applicant]
Demicco et al., “COGENT: Adaptable Compiler Toolchain for Tagging RISC-V Binaries”, ACM, pp. 1-14 (Year: 2025). [cited by applicant]
Chlipala, “A Verified Compiler for an Impure Functional Language”, ACM, pp. 1-14 (Year: 2010). [cited by applicant]
Wang et al., “Compiler Verification Meets Cross-Language Linking via Data Abstraction”, ACM, pp. 1-16 (Year: 2014). [cited by applicant]
Pichler et al., “Fast and Compact: Reducing Size of AOT-Compiled Java Code without Sacrificing Performance”, ACM, pp. 1-12 (Year: 2025). [cited by applicant]
Xu et al., “Copy-and-Patch Compilation”, ACM, pp. 1-31 (Year: 2021). [cited by applicant]
Dmitriev, “Profiling Java Applications Using Code Hotswapping and Dynamic Call Graph Revelation”, ACM, pp. 1-13 (Year: 2004). [cited by applicant]
Furr et al., “Profile-Guided Static Typing for Dynamic Scripting Languages”, ACM, pp. 1-18 (Year: 2009). [cited by applicant]
U.S. Appl. No. 18/424,490. [cited by applicant]
U.S. Appl. No. 18/424,527. [cited by applicant]
U.S. Appl. No. 18/424,584. [cited by applicant]
U.S. Appl. No. 18/424,614. [cited by applicant]
U.S. Appl. No. 18/424,632. [cited by applicant]